1、相邻数对,ISBN识别码,文本文件单词统计等设计周数2设计任务主要参数1.基本要求掌握C或C+语言、结构化程序和面向对象程序设计方法、数据结构和离散数学理论知识,熟悉C或C+程序的开发环境及调试过程,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。2.培养学生以下技能培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。通过对所选题目分析,找出解决方法,设计算法,编制程序与调试程序。能熟练调试程序,在教师的指导下,完成课题任务。按课程设计报告的要求撰写设计报告。设计内容设计要求1.设计内容相邻数对;ISBN识别码;文本文件单词统计;构造可以使
2、n个城市连接的最小生成树;送货;学生信息管理系统2.设计要求至少完成上述设计内容中的4个设计题目;对每个题目要给出设计方案、功能模块划分、算法思想;选择使用的数据结构;给出题目的程序实现;按要求撰写设计报告。主要参考资 料1.程序设计课程设计指导书;2.程序设计技术、数据结构等课程教材;3. 其他自选的相关资料。学生提交归档文件 课程设计报告封面应给出专业、班级、姓名、学号、指导教师和完成日期。每个设计题目的内容包括以下几项:设计题目、问题描述、问题分析、功能实现、测试实例及运行结果、源程序清单。注:1.课程设计完成后,学生提交的归档文件应按照:封面任务书说明书图纸的顺序进行装订上交(大张图纸
3、不必装订)。2.可根据实际内容需要续表,但应保持原格式不变。指导教师签名: 日期:2017.6.33. 文本文件单词统计.54. 构造可以使n 个城市连接的最小生成树11 题目一 相邻数对1.1【问题描述】给定n 个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式输入的第一行包含一个整数n,表示给定整数的个数。第二行包含所给定的n 个整数。输出格式输出一个整数,表示值正好相差1 的数对的个数。1.2【设计及分析】输入输出610 2 6 3 7 83测试数据输出说明值正好相差1 的数对包括(2, 3), (6, 7), (7, 8)。所以输出:数据约定1=n=1000,给定的整数
4、为不超过10000 的非负整数。1.3【设计功能的实现】#include stdafx.h#includeusing namespace std;int main() int n; int m = 0; cout n; int A1000; cout 分别为:n for (int i = 0; i Ai; for (int j = i + 1; j j+) if (Ai - Aj) = 1) | (Aj - Ai) = 1) m+; 相邻数对个数为: m endl; return 0;1.4【测试及运行结果】1.5【总结】这个实验主要使用两个循环即可完成实验。题目二 ISBN识别码2.1【问题
5、描述】每一本正式出版的图书都有一个ISBN 号码与之对应,ISBN 码包括9 位数字、1 位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4 就是一个标准的ISBN 码。ISBN 码的首位数字表示书籍的出版语言,例如0 代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670 代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。识别码的计算方法如下:首位数字乘以1 加上次位数字乘以2以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10
6、,则识别码为大写字母X。例如ISBN 号码0-670-82162-4 中的识别码4 是这样得到的:对067082162 这9 个数字,从左至右,分别乘以1,2,9,再求和,即01+62+29=158,然后取158 mod 11 的结果4 作为识别码。编写程序判断输入的ISBN 号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出是正确的ISBN 号码。输入只有一行,是一个字符序列,表示一本书的ISBN 号码(保证输入符合ISBN 号码的格式要求)。输出一行,假如输入的ISBN 号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN 号码(包括分隔
7、符“-”)。2.2【设计及分析】输入1 输出10-670-82162-4 Right输入2 输出20-670-82162-0 0-670-82162-42.3【设计功能的实现】char a13;int main() int i = 1, sum = 0; int x;请输入标准ISBN码(X-XXX-XXXXX-X): for (int i = 1;= 13; i+) ai; sum = a1 * 1 + a3 * 2 + a4 * 3 + a5 * 4 + a7 * 5 + a8 * 6 + a9 * 7 + a10 * 8 + a11 * 9; sum = sum - 45 * 0 x =
8、 sum % 11; if (x = 10 & a13 = X) cout Right else if (x = a13-) else for (int i = 1;= 12; i+) cout if (x = 10)Xendl; else cout x return 0;2.4【测试及运行结果】2.5【总结】这个的关键点在于字符必须减去0才可以进行运算。题目三 文本文件单词统计3.1【问题描述】假设有如下的英文文本文档:(此处为太原理工大学学校简介英文版)TAIYUAN UNIVERSITY OF TECHNOLOGYTaiyuan University of Technology (TUT
9、) has its history traced all the way back to the Western Learning School ofShanxi Grand Academy (1902), which was one of the three earliest national universities in China. With the tradition anddevelopment of over 100 years, TUT is now a general university with engineering as the major, sciences and
10、 technologyintegrated and coordinate development of multiple disciplines. It is a university that is included in the “Project 211” -the national higher education promotion program for 100 top universities in China.Recollecting the centennial history, generations of TUT have created its mission and g
11、lory of a century with responsibilityand confidence; expecting the promising tomorrow, over 30,000 TUT students and faculty are producing splendor andperspectives by their wisdom and diligence. In the new era, Taiyuan University of Technology, following the Conceptionof Scientific Development, is de
12、termined to further the reformation on education, to reinforce the teaching management soas to upgrade its teaching and researching levels. Taiyuan University of Technology will be turning itself into aresearch-based university.设计C 或C+程序,统计在这样的英文文本文件中,出现了多少个单词,每个单词出现了几次。连续的英文字符都认为单词(不包括数字),单词之间用空格或标点符号分隔。3.2【设计及分析】要统计英文文本文件中出现了哪些单词,就要从文件中读取字符,读取出来的连续英文字符认为是一个单词,遇空格或标点符号单词结束。使用线性表记录单词以及每个单词出现的次数。线性表中的单词按字典顺序存储。线性表的顺序存储结构如下:#define LIST_INIT_SIZE 100 /线性表存储空间的初始分配量#define LISTINCREMENT 10 /线性表存储空间的分配增量typedef structchar word21 /存储单词,不超过20 个字符i
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1