数据结构课程设计题目

合集下载

数据结构课程设计题目

数据结构课程设计题目

数据结构课程设计题目一、题目背景在现代科技发展的背景下,数据结构作为计算机科学的重要基础课程,对于培养学生的编程思维、数据处理能力具有重要的作用。

本篇课程设计将围绕数据结构的实际应用,设计一个能够提升学生数据结构理论与实践能力的题目。

二、题目描述你需要设计一个软件,实现以下功能:能够记录学生信息并进行相关的数据操作。

具体要求如下:1. 学生信息包括:学生学号、姓名、性别、年龄、身高、体重等基本信息;2. 软件需要实现以下操作:a. 添加学生信息:可以手动添加每个学生的详细信息,并将其记录到数据库中;b. 删除学生信息:能够根据学号或姓名删除指定学生的信息;c. 修改学生信息:能够根据学号或姓名修改指定学生的信息;d. 查询学生信息:能够按照学号、姓名、性别、年龄等条件进行学生信息的查询,并将结果以列表形式展示;e. 统计学生信息:能够统计学生的平均年龄、平均身高、平均体重等统计数据,并展示在界面上;f. 数据导入导出:能够将学生信息导入/导出到文件或数据库中,实现数据的持久化存储。

三、设计思路为了实现上述功能,你可以采用以下的设计思路:1. 数据结构选择:可以使用链表、数组、树等数据结构存储学生信息,具体根据功能需求来选择合适的数据结构;2. 界面设计:考虑采用图形界面或者命令行界面,以提供方便的操作方式;3. 数据存储:可以使用文件、数据库等方式进行数据的存储和读取,以实现数据的持久化;4. 算法设计:在实现功能的过程中,需要考虑合适的算法来实现快速的查找、删除和修改等操作;5. 错误处理:在设计过程中,需要考虑各种可能的错误情况,并进行相应的处理和提示。

四、实施步骤为了顺利完成该课程设计,你可以按照以下步骤进行:1. 分析题目需求:仔细阅读以上题目描述,明确实现各项功能的具体要求;2. 设计数据结构:选择合适的数据结构来存储学生信息,考虑数据的增删改查等操作的效率;3. 设计算法:根据功能需求,设计相应的算法来实现各项操作;4. 实现界面:根据选择的界面方式,设计相应的图形界面或命令行交互界面;5. 实现功能:按照题目要求,逐个实现各项功能,并进行测试;6. 完善细节:对界面进行美化,完善用户交互体验,处理各种错误情况;7. 测试与调试:对整个软件进行全面的测试,并进行调试修复可能存在的问题;8. 编写报告:撰写课程设计报告,详细记录设计过程、实现方法、遇到的问题以及解决方案等。

数据结构课程设计题目

数据结构课程设计题目

题目1:图的遍历功能:实现图的深度优先, 广度优先遍历算法,并输出原图结构及遍历结果。

分步实施:1) 初步完成总体设计,搭好框架;2)完成最低要求:两种必须都要实现,写出画图的思路;3)进一步要求:画出图的结构,有兴趣的同学可以进一步改进图的效果。

要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

题目2:n维矩阵乘法:A B-1功能:设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,输出ab-1结果。

分步实施:1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2)完成最低要求:建立一个文件,可完成2维矩阵的情况;3)一步要求:通过键盘输入维数n。

有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

题目3:数组应用功能:按照行优先顺序将输入的数据建成4维数组,再按照列优先顺序输出结果,给出任意处的元素值,并给出对应的一维数组中的序号。

分步实施:1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2.完成最低要求:完成第一个功能;3.进一步要求:进一步完成后续功能。

有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

题目4:数组应用2功能:读入数组下标,求出数组A靠边元素之和;求从A[0][0]开始的互不相邻的各元素之和;当m=n时,分别求两条对角线上的元素之和,否则打印出m!=n的信息。

数据结构课程设计

数据结构课程设计

福建工程学院课程设计课程:数据结构课程设计题目: 1.综合应用2.折半查找3.快速排序专业:软件工程班级:1101座号:3110305129姓名:潘聪2012 年 6 月26 日设计题目1:综合应用一、问题描述有N名学生,每名学生含有如下信息:学号、姓名、某四门课的成绩,并计算其总分,用一结构数组表示之。

然后实现以下功能:(1)将这些数据存放至文件stuf.dat中;(2)将文件中的数据读出至结构数组中,并显示之;(3)输出总分最高分和最低分的名字;(4)输出总分在340分,单科成绩不低于80分的名单;(5)求出各科平均分数;(6)按总分排名;(7)输出补考名单。

二、解决问题的算法思想描述(1)子函数:首先确定需要的子函数,总共7个,对应的功能分别是题目要求的七项(2)主函数:主函数中,要设计出易于使用的人机界面,就必须要用到switch 。

(3)文件的存放读取,必须要用到文件的函数,fopen,fread,fclose等。

(4)把每个学生的信息定义在一个结构数组中,利用结构数组更加方便。

(5)各科成绩排名用冒泡排序即可。

(6)输出总分,补考名单,各科的平均分都比较简单。

三、设计1. 数据结构的设计和说明//定义结构体typedef struct{int num; //学号char name[10]; //姓名int score1; //语文int score2; //数学int score3; //物理int score4; //化学}student;student stu[MAX]; //结构数组2.模块结构图及各模块的功能:3. 关键算法的设计(必须画出流程图)打印最高成绩和最低成绩的名单算法流程图:四、测试数据及测试结果:五、课程设计总结注意细节方面,任何一个小问题都不能忽视,才能最终解决问题。

六、关键源程序的清单关键算法一:按照总成绩排名:void paiming(){read();student x;int sum[MAX],t=0,i,m,n,j;for(i=0;i<MAX; i++){sum[i]=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4;}for(m=0;m<MAX-1;m++)for(n=m+1;n<MAX;n++)if(sum[n]>sum[m]){t=sum[n];sum[n]=sum[m]; //总成绩交换sum[m]=t;x=stu[n];stu[n]=stu[m]; //总成绩对应的学生也要同时交换stu[m]=x;}printf("学号\t姓名\t语文\t数学\t英语\t物理\t总分\t名次\n");for(j=0;j<MAX;j++){printf("%-8d%-8s%-8d%-8d%-8d%-8d%-8d%-8d\n",stu[j].num,stu[j].name,stu[j].score1,stu[j].sc ore2,stu[j].score3,stu[j].score4,sum[j],j+1);}}关键算法二:打印出最高成绩和最低成绩的姓名:void maxmin(){int sum[MAX],i,j,m=0,n=0,max,min;read();for(i=0;i<MAX; i++){sum[i]=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4;} //求书每个人的总分max=min=sum[0]; //用一维数组保存成绩,并且先令第一位学生的成绩作为最高分和最低分for(j=0;j<MAX;j++){if(sum[j]>max){m=j;max=sum[j]; //定义变量m,n分别保存最高分和最低分的下标}else if(sum[j]<min){n=j;min=sum[j];}}printf("\n最高分:%s 总分%d\n",stu[m].name,sum[m]);printf("\n最低分:%s 总分%d\n\n",stu[n].name,sum[n]);}设计题目2:折半查找一、问题描述用折半查找法,实现对任意一组数据的查找。

数据结构课程设计实例100例

数据结构课程设计实例100例

数据结构课程设计实例100例1. 设计一个简单的栈数据结构。

2. 实现一个简单的队列数据结构。

3. 设计一个链表数据结构。

4. 实现一个二叉树数据结构。

5. 设计一个哈希表数据结构。

6. 实现一个图数据结构。

7. 设计一个堆数据结构。

8. 实现一个优先队列数据结构。

9. 设计一个有向图数据结构。

10. 实现一个循环链表数据结构。

11. 设计一个红黑树数据结构。

12. 实现一个字典数据结构。

13. 设计一个AVL树数据结构。

14. 实现一个散列表数据结构。

15. 设计一个双端队列数据结构。

16. 实现一个字典树数据结构。

17. 设计一个多叉树数据结构。

18. 实现一个最小生成树算法。

19. 设计一个并查集数据结构。

20. 实现一个图的遍历算法。

21. 设计一个迪杰斯特拉算法。

22. 实现一个Floyd算法。

23. 设计一个拓扑排序算法。

24. 实现一个最短路径算法。

25. 设计一个Kruskal算法。

26. 实现一个插入排序算法。

27. 设计一个快速排序算法。

28. 实现一个希尔排序算法。

29. 设计一个选择排序算法。

30. 实现一个冒泡排序算法。

31. 设计一个堆排序算法。

32. 实现一个归并排序算法。

33. 设计一个桶排序算法。

34. 实现一个基数排序算法。

35. 设计一个计数排序算法。

36. 实现一个递归算法。

37. 设计一个动态规划算法。

38. 实现一个回溯算法。

39. 设计一个哈夫曼编码算法。

40. 实现一个最大子序列和算法。

41. 设计一个最长递增子序列算法。

42. 实现一个最长公共子序列算法。

43. 设计一个贪婪算法。

44. 实现一个深度优先搜索算法。

45. 设计一个广度优先搜索算法。

46. 实现一个信号量算法。

47. 设计一个分治算法。

48. 实现一个枚举算法。

49. 设计一个置换算法。

50. 实现一个位运算算法。

51. 设计一个红黑树插入算法。

52. 实现一个二进制查找算法。

53. 设计一个最小堆插入算法。

数据结构课程设计题目

数据结构课程设计题目

算法与数据结构课程设计一、线性表题1、建立一个单链表,显示链表中每个节点的数据,并做删除和插入处理。

例:(掌握线性表在链式存储结构下的基本运算的实现。

)1、功能(1)建立以带头结点的单链表(2)显示链表中每个结点的数据(3)在单链表中指定位置插入指定数据并输出单链表中所有数据(4)删除单链表中指定的结点并输出单链表中所有数据2、输入要求输入单链表中所有数据,插入的数据元素的位置、值,要删除的数据元素的位置。

3、测试数据单链表中所有数据:12,23,56,21,8,10,15,67,90,32插入的数据元素的位置、值:1,28要删除的数据元素的位置:10[概要设计](1)算法思想:由于在操作过程中要进行插入、删除操作,为运算方便,选用单带头结点的单链表作数据元素的存储结构。

对每个数据元素,由一个数据域和一个指针域组成,数据域放输入的数据值,指针域指向下一个结点。

(2)数据结构单链表结点类型:typedef struct Node{ int data;struct node *next;}ListNode;带头结点的单链表类型定义:typedef ListNode *LinkList;(3)模块划分:①建立点头结点的单链表CreatLinkList;②显示链表中每个结点的数据PrintList;③在单链表中指定位置插入指定数据并输出单链表中所有数据InsertList;④删除单链表中指定的结点并输出单链表中所有数据DeleteList;⑤主函数mian(),功能是给出测试数据值,建立测试数据值的带头结点的单链表,调用PrintList函数、InsertList函数、DeleteList函数实现问题要求。

[详细设计] 见程序LinkList.c题2、约瑟夫环(Joseph)问题的一种描述是:编号1,2,┉,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数),一开始,任选一个正整数作为报数上线值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。

数据结构课程设计题目及要求

数据结构课程设计题目及要求

数据结构课程设计题目及要求一、要求本次课程设计可以从以下的题目中任选其一,每个题目基本实现的要求是:有菜单功能有读写数据存盘功能成品应包括以下内容:程序设计书(Word格式)。

包括程序设计目标、问题描述、需求分析、概要设计、详细设计、源程序清单(要求格式整齐400行以上,要有注释说明)、软件说明书(给出软件如何使用,使用时的注意事项)、测试报告(每个函数的功能测试,输入条件,输出结果)和课程设计总结。

2、可执行程序源代码。

3、答辩时使用的ppt。

二、设计题目题目一:仓库管理系统(线性表应用)[问题描述]建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除货物以及建立新的仓库存储系统。

[实现提示]可以采用双向链表的存储结构,如可定义如下的存储结构:typedef struct dnode /*定义双向链表结构体*/{int number; /*货物编号*/char name[max]; /*货物名称*/int counter; /*货物数量*/struct dnode *prior,*next; /*定义两指针,分别指向其前驱和后继*/}dlnode;题目二:单位员工通讯录管理系统(线性表应用)[问题描述]为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。

其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。

[实现提示]可以采用单链表的存储结构,如可定义如下的存储结构:typedef struct { /*员工通讯信息的结构类型定义*/char num[5]; /*员工编号*/char name[10]; /*员工姓名*/char phone[15]; /*办公室电话号码*/char call[15]; /*手机号码*/}DataType;/*通讯录单链表的结点类型*/typedef struct node{ DataType data; /*结点的数据域*/struct node *next; /*结点的指针域*/}ListNode,*LinkList;题目三: 哈夫曼编码/译码系统(树应用)[问题描述]利用哈夫曼编码进行通信,可以压缩通信的数据量,提高传输效率,缩短信息的传输时间,还有一定的保密性。

数据结构课程设计题目

数据结构课程设计题目

数据结构课程设计题目请从下面四道题目中任选一道作为答辩题目。

答辩时会问每位同学1~2个问题,根据回答正确与否给出数据结构课程设计的成绩。

题目1:设计程序以实现构造哈夫曼树的哈夫曼算法。

要求:求解所构造的哈夫曼树的带全路径长度。

题目2:设计并实现一个航班信息查询和检索系统。

要求:对飞机航班信息进行排序和查找,可按照航班号、起点站、到达站、起飞时间和到达时间等信息进行查询。

航班信息表的样式如下:其中航班号一项的格式为:前两个大写字母表示航空公司的名称,后4位为航班编号,例如:CA1544,CA表示航空公司的名称,1544为航班编号。

题目3.求解迷宫问题:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍,设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。

设计要求如下:(1)以链栈作为存储结构,编写一个求解迷宫的非递归程序,并将求得的通路以三元组(i,j,d)的形式输出,其中:i,j指示迷宫中的一个坐标,d表示走到下一坐标的方向;(2)编写递归形式的算法,求得迷宫中所有可能的通路;(3)以方阵形式输出迷宫及其通路。

[测试数据]左上角(1,1)为入口,右下角(9,8)为出口。

1 2 3 4 5 6 7 8[实现提示]计算机解迷宫通常用的是“穷举求解”方法,即从入口出发,顺着某一个方向进行探索,若能走通,则继续往前进;否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。

假如所有可能的通路都探索到而未能到达出口,则所设定的迷宫没有通路。

可以二维数组存储迷宫数据,通常设定入口点的下标为(1,1),出口点的下标为(m,n)。

为处理方便起见,可在迷宫的四周加一圈障碍。

对于迷宫中任一位置,均可约定有东、南、西、北四个方向可通。

题目4.校园导游程序:用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。

数据结构课程设计——一元多项式计算

数据结构课程设计——一元多项式计算

数据结构课程设计——一元多项式计算一、课程设计题目及要求二、设计思路和方法三、程序流程图四、程序代码及注释五、测试结果及分析六、结论七、参考文献本次课程设计的题目为“一元多项式计算”,要求设计一个程序,能够实现一元多项式的加、减、乘、求导和求值等操作。

在设计思路和方法上,我们采用了链表的数据结构来存储多项式,同时设计了相应的函数来实现各种操作。

程序的流程图如下所示:插入流程图)程序的代码及注释如下所示:插入代码及注释)在测试结果及分析方面,我们对程序进行了多组测试,并对其进行了详细的分析和比较。

结果表明,我们的程序能够正确地实现各种操作,并且具有较高的效率和稳定性。

综上所述,本次课程设计的目标已经得到了圆满地实现,我们对于所取得的成果感到非常满意。

同时,我们也希望能够通过这次课程设计,加深对于数据结构及其应用的理解和掌握,为今后的研究和工作打下坚实的基础。

设计目标:本课程设计旨在结合理论与实际应用,提高学生组织数据及编写大型程序的能力。

通过掌握数据组织、算法设计和算法性能分析的方法,培养学生良好的程序设计能力。

具体实现是利用单链表表示一元多项式,实现多项式的输入、建立、输出、相加、相减和相乘。

总体设计:2.1 数据结构描述与定义:一元多项式定义系数和指数结构如下:coef,expn和next。

定义多项式的结构为线性链表的存储结构,每个结点包含三个元素:系数coef,指数expn和指向下一个结点的指针*next。

多个单项式通过指针连接起来,形成一个多项式。

2.2 模块设计:从实现多项式运算过程的角度来分析,至少需要以下子功能模块:多项式创建、销毁、输出、相加、相减和相乘。

定义并调用的函数有:Insert、CreatePolyn、DestroyPolyn、PrintPolyn、AddPolyn、SubtractPolyn、XXX和main函数。

注:该文章中没有明显的格式错误和需要删除的段落,因此没有进行小幅度改写。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计一、考核方法和容根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。

成绩评定实行优秀、良好、中等、及格和不及格五个等级。

评分标准:优秀:答辩所有问题都能答出+报告良好或报告良好+实现“提高部分”的功能;良好:答辩所有问题都能答出+报告一般;或报告一般+实现“提高部分”的功能;中等:答辩大部分问题能答出+报告良好;及格:答辩大部分问题能答出+报告一般;以下四种,都不及格:1)答辩几乎答不出问题;2)报告几乎都是代码;3)雷同部分达到60%;4)课设报告与数据结构和c/c++关联不大。

课设报告的装订顺序如下:任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献;课设报告打印要求:B5纸打印,报告总页数控制在10—15页,报告中不能全是代码,报告中代码总量控制在3页。

版式:无页眉,有页码,页码居中字号:小四,单倍行距字体:宋体+Times new Romar截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图”二、课程设计的题目1.长整数的加法运算2.通讯录管理系统的设计与实现——顺序表3.广义表的应用4.学生成绩管理系统的设计与实现5.家谱管理系统的设计与实现6.集合的并、交和差运算的程序7.运动会分数统计8.一元多项式计算器9.文章编辑10.哈夫曼树及其编码11.校园导游咨询12.通讯录管理系统的设计与实现——单链表13.地图着色问题14.部排序算法比较15.火车售票系统16.图书管理系统客户消费积分管理系统17.18.产品进销存管理系统19. 迷宫求解20.通讯录管理系统的设计与实现——哈希表---线性探测再散列21.语言中平衡符号的问题22.算术表达式求解23.数制转换问题24.九宫格问题25.停车场管理26.关键路径问题27.通讯录管理系统的设计与实现——哈希表——链地址法28.歌星大奖赛29.病人就医管理30.简单目录管理系统的设计与实现31.最短旅程的求解32.通讯录管理系统的设计与实现——哈希表——二次探测再散列33.宿舍管理查询软件34.表达式求值,并能给出分数,可供小学生作业练习的小程序35.服装销售系统36.机房机位预约模拟系统37.歌曲信息管理系统38.学生点名系统39.猜数游戏三、数据结构课程设计的具体容(想要优,必须实现“提高部分”的功能,其他,不用完成“提高部分”)要求:全部采用数据结构课程中的容实现,采用C或C++实现,逻辑结构只能选线性结构、树型结构、图型结构、集合结构中的一种,不能用数据库。

长整数的加法运算 1.基本要求:设计一个实现任意长的整数进行加法、减法运算的演示程序。

⑴利用链表实现长整数的存储,每个结点含一个整型变量。

提醒:任何整型变量int的围是-(2^15-1)~(2^15-1)。

⑵输入和输出形式按照中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。

如:-2345,6789,3211;⑶演示程序以用户和计算机的对话方式执行,可进行多次运算。

提高部分:增加利用顺序表存储结构来实现长整数的加、减和输出功能。

2.通讯录管理系统的设计与实现——顺序表基本要求:利用顺序表完成通讯录的一般性管理工作。

其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。

功能主要包括:(1)添加信息:可新增人员信息;(2)显示信息:可以按照手机号或联系人的姓名拼音排序显示;(3)查找:用名字和手机号分别作为查找的依据,进行查找;(4)编辑信息:修改完善人员信息;(5)删除信息:删除人员信息;(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

提高部分:利用外部.txt文件同步存储通讯录信息。

3.广义表的应用基本要求:要现的广义表的建立、查找、输出、取表头和取表尾以及求深度等。

演示程序以用户和计算机的对话方式执行,并可进行多次交互。

用一个主控菜单程序控制,共分为6个子功能。

(1)建立广义表(2)输出广义表(3)结点的查找(4)求广义表表头(5)求广义表表尾(6)求广义表的深度。

(7)求广义表的长度。

文件输入数据信息建立广义表。

.txt利用外部提高部分:4.学生成绩管理系统的设计与实现基本要求:能够实现对学生成绩的常用管理功能。

⑴采用一定的存储结构对学生成绩进行管理;⑵可以进行成绩的录入、查询、修改、删除等操作;⑶可以查询某门课程的平均分,学生的排名,不同分数段的学生人数及学生信息等;⑷可以查询某学生的各课程分数,总分及学生的班级排名等;⑸可以按学号排序输出全部学生的成绩信息、总分及班级排名等。

⑹演示程序以用户和计算机的对话方式进行。

提高部分:利用外部.txt文件同步存储学生成绩信息。

5.家谱管理系统的设计与实现基本要求:设计并实现一个简单的家谱管理系统。

(1)建立家族关系树,并能存储到外部文件中。

(2)实现家族成员的添加、删除功能。

(3)可以查询家族成员的双亲、祖先、兄弟、孩子和后代等信息。

(4)按某种顺序输出家谱信息(树的遍历操作)、以树型结构输出家谱资料等功能。

(5)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

提高部分:通过读取外部.txt文件,建立家族关系树,添加和删除后的结果同步到外部文件。

6.集合的并、交和差运算的程序基本要求:编制一个能演示执行集合的并、交和差运算的程序。

(1)集合的元素限定为大小写字母符[′a′….′z′′A′….′Z′],集合的大小n<53。

(2)集合输入的形式为一个以回车符为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤去非法字符和重复字符。

(3)输出的运算结果字符串中将不含重复字符或非法字符。

(4)演示程序以用户和计算机的对话方式执行,可多次进行运算。

提高部分:采用顺表和链式两种存储结构实现。

7.运动会分数统计基本要求:参加运动会的n个学校编号为1~n。

比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。

由于各项目参加人数差别较大,有些项目取前五名,积分分别为11,7,4,2,1;有些项目只取前三名,积分分别为5,3,2。

哪些项目取前五名或前三名在输入比赛结果时自己设定。

写一个统计程序产生各种成绩单和得分报表。

(1)各项目结束时,输入项目编号、所有运动员的姓名、学校名称和比赛名次(成绩),并对前三名或前五名的运动员所在团体和学校,记录比赛积分;(2)产生每个学校的成绩单,容包括该学校所取得的每项成绩的项目号、运动员姓名、名次(成绩),并统计学校总分;(3)实现按学校编号查询学校的比赛情况,查询结果包含参加各项目的项目编号、运动员姓名、取得的名次、比赛的积分、学校总分、团体总分等;(4)实现按项目编号查询取得前三或前五名的学校的名称;(5)演示程序以用户和计算机的对话方式执行,可多次操作。

提高部分:实现按学校编号排序输出(至少包括学校排名,学校编号,学校名称,学校总分);按男团总分排序输出(至少包括男团排名,学校名称,男团总分);按女团总分排序输出(至少包括女团排名,学校名称,女团总分);8.一元多项式计算器基本要求:设有一元多项式A(x) 和B(x).nm123m A(x) = A+Ax+Ax+Ax+…+Ax m2m031123n B(x) = B+Bx+Bx+Bx+…+Bx n01n32试求M(x)=A(x)+B(x)、M(x)= A(x)-B(x)和M(x)= A(x)×B(x)。

nmnmmn⑴首先判定多项式是否稀疏;中无重复阶项和无零系数项;M(x)⑵要求结果⑶要求输出结果的升幂和降幂两种排列情况。

⑷演示程序以用户和计算机的对话方式执行,可进行多次运算。

提高部分:采用顺表和链式两种存储结构实现。

9.文章编辑基本要求:输入一页文字,可以统计出文字、数字、空格的个数。

(1)利用外部.txt文件存储一页文章,每行最多不超过80个字符,共N行。

(2)分别统计出其中英文字母和空格数及整篇文章总字数。

(3)统计某一字符串在文章中出现的次数,并输出该次数。

(4)删除某一子串,并将后面的字符前移,对文章的修改,同步到.txt文件中。

提高部分:采用顺表和链式两种存储结构实现。

10.哈夫曼树及其编码基本要求:设计一个利用哈夫曼算法的编码系统。

⑴初始化:利用外部.txt文件输入字符集大小n、n个字符和n个权值,建立哈夫曼树;⑵编码:利用建好的哈夫曼树生成哈夫曼编码;⑶输出哈夫曼树及哈夫曼编码;⑷演示程序以用户和计算机的对话方式执行,重复地显示并处理以上三个项目,直到选择退出为止。

假设字符集及频度如下表:字符空格 A B C D E F G H I J K L M频度197 64 13 22 32 103 21 15 47 57 5 1 20 32字符N O P Q R S T U V W X Y Z频度57 63 1 15 48 16 80 23 8 18 1 51 1提高部分:输出树形的哈夫曼树。

//////进行编码和译码11.校园导游咨询基本要求:设计一个校园导游程序,为来访的客人提供各种信息查询服务。

⑴设计华东交通大学南区的校园平面图(无向图),所含景点不少于10个。

以图中顶点表示校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

⑵为来访客人提供图中任意景点相关描述信息的查询。

⑶为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的最短路径。

提高部分:查询任意两个景点之间的所有路径。

12.通讯录管理系统的设计与实现——单链表基本要求:利用单链表完成通讯录的一般性管理工作。

其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。

功能主要包括:(1)添加信息:可新增人员信息;(2)显示信息:可以按照手机号或联系人的姓名拼音排序显示;(3)查找:用名字和手机号分别作为查找的依据,进行查找;(4)编辑信息:修改完善人员信息;(5)删除信息:删除人员信息;(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

提高部分:利用外部.txt文件同步存储通讯录信息。

相关文档
最新文档