还剩2页未读,继续阅读
文本内容:
C语言程序设计实训题目(一人完成一题,一般选取相同题目的最多允许3人)指导教师孙杰1.设计一个多功能计算软件实现功能1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果结果可以作为下一个运算的第一运算数按‘C’清屏,按‘R’返回菜单例如输入2+5输出72)实现单运算符表达式计算的功能输入的操作数可以包含整数或浮点数输入表达式如下例如输入2+5输出72.学生成绩管理系统1具备对成绩的管理功能(添加、删除、排序)2具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3具备按学号、姓名、或课程名查询成绩的功能备注成绩记录以下信息班级,学号,姓名,课程名,成绩(百分制)可以用能表示学生成绩的结构体数组存储数据3.设计一个通讯录管理软件实现功能1通讯录编辑(添加、删除)2按不同的项进行查找3对已存在的通讯录按不同的项排序4将通讯录写入文件5从文件读入通讯录备注通讯录至少应该有以下数据项姓名,地址,__,邮编,E-__il
4、汉诺塔问题(TowersofHanoi)汉诺塔的问题是假设有三根木桩A、B和C在木桩A上放置了N个圆盘,由上到下编号为1,2,,…,N,编号越大的圆盘直径越大而我们必须将圆盘由木桩A通过木桩B全部搬到木桩C,如图1所示在__过程中,必须按照下述__规则1.直径较小的圆盘永远置于直径较大的圆盘上;2.圆盘可任意地由任何一个木桩移到其他的木桩上;3.每一次仅能__一个圆盘假设现在有三个木桩A、B、C,在木桩A上,由大到小依次放置了三个中空的圆盘,则按照上述的__规则,其__的过程如图2所示因此当N=3时,__次序如下
(1)从木桩A将圆盘1__到木桩C
(1)从木桩A将圆盘2__到木桩B
(1)从木桩C将圆盘1__到木桩B
(1)从木桩A将圆盘3__到木桩C
(1)从木桩B将圆盘1__到木桩A
(1)从木桩B将圆盘2__到木桩C
(1)从木桩A将圆盘1__到木桩C首先我们观察当圆盘只有一个(即N=1)的时候,就直接把圆盘由木桩A__到木桩C即可,不必用到木桩B当圆盘不只一个(即N1)的时候,因为我们必须遵守上述的__规则,也就是直径较小的圆盘永远置于直径较大的圆盘上,所以一开始的目的就必须想办法先把木桩A最下面的圆盘,也就是最大的圆盘取出来,移到木桩C的最下面去放,这样木桩C才能再放第二大的圆盘上去,如此一层层垒上去,直到完成目标根据这样的概念,对于N1的解,可以分解成下列三个子问题
(1)将木桩A项端的N-1个圆盘通过木桩C__到木桩B
(1)将木桩A唯一的圆盘移到木桩C A→C
(1)将木桩B顶端的N-1个圆盘通过木桩A__到木桩C观察上面的三个子问题,我们发现第一个子问题及第三个子问题已经构成了递归调用,且问题也较为简化,即从N个圆盘变成N-1个圆盘的问题而递归的终止条件,也就是在N=1时,就是发生在第二个子问题上,就不必再递归下去了,直接输出__方法即可,因此我们可以把解题方案看成是一个分治算法,因为N个圆盘的解可以被分解成N-1个圆盘的解与N=1个圆盘的解算法如下voidhanoiintncharacharbcharc{ifn0{hanoin-1acb;printf“movedisk%dfrom%cto%c\n”nac;hanoin-1bac;}}图3是当N=3时的递归调用树状图,可以使我们更清楚的了解递归的调用过程
5、设计一个用户登录软件实现功能1提示输入用户名和__(初始用户名为guest;__为123),对输入信息进行检测;正确则提示欢迎信息,错误则提示重新输入(错误三次,退出系统)2提供__的修改功能,输入原先的__,正确则可以修改;输入新设定的__,提示“再输入一遍”新设定的__,2次一致则修改成功,否则提示有误,并允许重新设定或退出
6、设计一个加密和____实现功能1对输入的一串字符(或一个文件)进行加密(加密算法自定)2对已加密的一串字符(或一个文件)进行解密3)提供有关提示信息和支持用户使用的辅助功能(根据实际情况自定)
7、设计一个软件实现“农夫过河”问题描述一个农夫带着一只狼,一只兔子和一些菜过河河边只有一条一船,由于船太小,只能装下农夫和他的一样东西在无人看管的情况下,狼要吃兔子,兔子要吃菜,请问农夫如何才能使三样东西平安过河
8、设计贪吃蛇游戏玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束
9、链表操作
(1)目的、要求了解和掌握顺序表的逻辑结构和链式存储结构,掌握顺序表的基本算法及相关的时间性能分析设计一个程序,要求应用顺序表的链式存储结构主要功能有输入输出数据,销毁数据,插入数据,按值查找数据,按序号查找数据要求程序使用简便
(2)实验环境本程序可以在98/2000/XP下运行可以用VC++
6.0执行
(3)程序的逻辑框图窗口初始化输入数据输出表长选择功能功能判断根据所选功能执行相应操作结束相应的函数调用。