大学生 C语言实训题目.docx
- 文档编号:7086412
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:8
- 大小:19KB
大学生 C语言实训题目.docx
《大学生 C语言实训题目.docx》由会员分享,可在线阅读,更多相关《大学生 C语言实训题目.docx(8页珍藏版)》请在冰豆网上搜索。
大学生C语言实训题目
题目一:
贪吃蛇游戏
问题描述:
贪吃蛇是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇身子长一节,同时积分10分,接着又出现食物,等待被蛇吃掉,如果在蛇移动的过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,则游戏结束。
题目二:
通讯录
1.系统功能要求:
(1)创建通讯录。
输入学生的姓名、学号和电话号码等,并将它们存放在对应的数组中;每输入一组数据,记录数增1。
(2)显示通讯录。
将记录学生姓名、学号和电话号码的数组中的数据一一输出到屏幕上,可以根据实际记录数确定循环次数。
(3)查询通讯录。
分别按学号和姓名进行查询,查询时将输入的信息通过循环与相应数组成员一一进行比较。
(4)修改通讯录。
输入需要修改记录的学号,通过循环查找到该记录后,再输入新数据替代原有数据。
(5)添加通讯录。
判断输入的学号是否重复,若不重复再将输入的信息添加到对应的数组中,每输入一组数据,记录数增1。
(6)删除通讯录。
分别按学号和姓名进行删除。
(7)排序通讯录。
分别按学号和姓名进行排序。
排序方式可以是升序或降序。
(8)退出。
题目三:
汉诺塔演示
题目四:
学生成绩管理系统
问题描述:
设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能,主要功能说明如下:
1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。
2、输入功能:
可以一次完成若干条记录的输入。
3、显示功能:
完成全部学生记录的显示。
4、查找功能:
完成按姓名查找学生记录,并显示。
5、排序功能:
按学生平均成绩进行排序。
6、插入功能:
按平均成绩高低插入一条学生记录
7 删除功能:
如果输入错误,可以删除学生记录;
8 退出。
题目五:
图书管理系统
问题描述:
设计一个图书管理系统,主要功能如下:
1.添加
在系统中增加图书信息(可自己设计图书的信息:
如书号,书名,出版社,等等)
2.借阅管理
当输入有效证件号码之后,能对图书馆中现有的图书进行借阅,并设置借阅时间。
3.还书管理
当输入有效证件号码之后,读者能进行还书,还书包括还书日期是否超出时间,如果是,提示缴纳相应的超时费用。
当读者还书之后,能对读者现有的图书借阅情况进行简单的提示。
如是否还有图书处于借阅状态,还书时间是多少,是否超时等。
4.图书浏览
读者能对系统中的图书情况进行浏览。
题目六:
计算器的实现
问题描述:
利用TC具有的函数模仿画出计算器的界面,实现计算机的基本功能,进行浮点加,减,乘,除,乘方和求模运行。
题目七:
迷宫问题
问题描述:
设计迷宫为二维平面图,将迷宫的左上角作为入口,右下角作为出口,求出从入口点到出口点的一条通路。
题目八:
冒泡排序的演示
问题描述:
冒泡排序是一种常用的排序方法,通过初始由键盘输入n个整数,实现冒泡排序的演示。
题目九:
工资管理系统
问题描述:
工资管理是一个单位最基本的一项财务管理,设计一个工资管理系统,实现数据的输入,显示,查找,删除,追加,插入,计算工资,排序等主要功能。
题目十:
运动会分数统计
任务:
参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为:
7、5、3、2、1,前三名的积分分别为:
5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)
功能要求:
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,
3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:
输入数据形式和范围:
可以输入学校的名称,运动项目的名称
输出形式:
有中文提示,各学校分数为整形
界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:
要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明;
题目十一:
飞机订票系统
任务:
通过此系统可以实现如下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
题目十二:
纸牌游戏
任务:
编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:
这时正面向上的牌有哪些?
题目十三:
俄罗斯方块
题目十四:
电子时钟
任务:
通过系统设计实现以下功能
电子时钟界面显示功能:
能够显示清晰完整的时钟界面
电子时钟按键控制功能:
通过按键控制对时间进行调整
时钟动画处理功能:
可以自动走时报时等等
#include
#include
#include
#defineS3"***************欢迎使用学生成绩管理系统***************"
structstudent//学生数据结构
{
doublenum;
charname[20];
floatpingshi;//平时
floatshiyan;//实验
floatkaoshi;//考试
doublezongping;//总评
}stu[30];
voidmain()
{
voidnewstu();/*输入一个班的学生记录*/
voidshowall();/*显示所有记录*/
voidcalculate();/*求出全班平均成绩,显示均方差*/
voidsort();/*输出成绩与排名*/
voidsave();/*将数据保存到成绩.txt文件中*/
intn;
while(n!
=6)
{printf("\n\n%s\n\n",S3);
printf("%15s***09自动化班学生成绩管理系统***\n\n","");
printf("%15s1:
输入该班学生大学c学生成绩记录\n","");
printf("%15s2:
显示所有成绩记录\n","");
printf("%15s3:
计算并输出平均成绩,均方差\n","");
printf("%15s4:
输出成绩与排名\n","");
printf("%15s5:
结果存入文件"成绩.txt"中\n","");
printf("%15s6:
退出系统\n","");
printf("输入选项代码:
");
scanf("%d",&n);
if(n!
=1&&n!
=2&&n!
=3&&n!
=4&&n!
=5&&n!
=6)
printf("对不起!
您的输入有误,请重新输入:
");
else
switch(n)
{
case1:
newstu();break;
case2:
showall();break;
case3:
calculate();break;
case4:
sort();break;
case5:
save();break;
case6:
printf("\n*******************谢谢使用!
*******************\n");break;
break;
}
}
getchar();
}
/*子函数*/
voidnewstu()/*输入一个班的学生记录*/
{
inti,n;
printf("请输入您要保存记录的人数:
");
scanf("%d",&n);
if(n>30)
printf("对不起,您的输入有误,请重新输入");
else
{for(i=0;i { printf("请输入学号姓名平时成绩实验成绩考试成绩: "); scanf("%lf%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].pingshi,&stu[i].shiyan,&stu[i].kaoshi); }for(i=0;i stu[i].zongping=0.1*stu[i].pingshi+0.3*stu[i].shiyan+0.6*stu[i].kaoshi; } } voidshowall()/*显示所有记录*/ { inti,n; printf("请输入您要保存记录的人数: "); scanf("%d",&n); printf("学号姓名平时成绩实验成绩考试成绩总评成绩\n"); for(i=0;i printf("%-18.0lf%-13s%-14.2f%-14.2f%-14.2f%-14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping); } voidcalculate()/*求出全班平均成绩,显示均方差*/ { inta[30]={0,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}; inti,n; doubletotal=0,pfc=0,bzc=0; doubleave; printf("请输入您要保存记录的人数: "); scanf("%d",&n); for(i=0;i { total=total+stu[i].zongping; } ave=total/n; printf("总评平均成绩是%f\n",ave); for(i=0;i { pfc=pow((stu[i].zongping-ave),2)/n; } bzc=sqrt(pfc); printf("\n平方差是%f\n",pfc); printf("\n标准差是%f\n",bzc); } voidsort()/*输出成绩与排名*/ { inta[30]={0,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}; inti,j,temp; for(j=0;j<29;j++) { for(i=0;i<29-j;i++) if(stu[a[i]].zongping { temp=a[i];a[i]=a[i+1]; a[i+1]=temp; } } printf("顺序为: \n"); printf("学号姓名总评成绩\n"); for(i=0;i<30;i++) printf("%15.0lf%10s%15.2f\n",stu[a[i]].num,stu[a[i]].name,stu[a[i]].zongping); printf("\n"); } voidsave()/*将数据保存到成绩.txt文件中*/ {inti; FILE*fp; fp=fopen("成绩.txt","w"); fprintf(fp,"学号姓名平时成绩实验成绩考试成绩总评成绩\n"); for(i=0;i<29;i++) fprintf(fp,"%15.0lf%14s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping); printf("Systempause...\n"); printf("Pleasewait...\n"); printf("\n\n*******************恭喜,保存完成! *******************\n\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学生 C语言实训题目 语言 题目