ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:96.84KB ,
资源ID:7582033      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7582033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计优质作业含运行截图.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计优质作业含运行截图.docx

1、C语言课程设计优质作业含运行截图C语言课程设计报告Experiment Designing reporter课程名称 : C语言课程设计英文名称 : C Program Experiment Designing 专 业 :工商管理类+软件工程095学 号 :09* 姓 名 :哒winci指导教师 :陈*日 期 : 2010年 7月12日至2010年7月22日大连交通大学软件学院C语言课程设计报告C Program Experiment Designing 课程编号:01200308005 学时: 40学时适用专业:软件工程专业 授课单位:软件学院一、 C语言课程设计目的及要求目的:根据课堂讲授

2、内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。要求:1 熟悉Turbo C 的编程环境、主要菜单功能。2 通过上机验证运算符、表达式、运算规则、函数使用。3 熟练使用C语言的典型语句编写简单程序。4 调试典型例题或习题。5 提高上机编程能力二、 实验类型设计类型三、 实验学时40学时四、 实验设备微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0 软件一套五、 C语言课程参考教材:1C语言程序设计 清华大学出版社 马靖善主编2.谭浩强.C语言程序设

3、计(第三版).北京:高等教育出版社,2002课程设计(报告)任务书任务及要求:1. 设计(研究)内容和要求研究内容: (1)歌星大赛打分系统(2)五个国家名排序(3)谜语博士的难题(4)哪个大夫哪天值班(5)分辨黑与白(6) 学生成绩查询系统任务和要求:(1)学习C语言基础知识,掌握C语言编程和程序调试的基本技能。(2)对指导教师下达的题目进行系统分析。(3)根据分析结果完成系统设计。(4)编程:在计算机上实现题目的代码实现。(5)完成对该系统的测试和调试。(6)提交课程设计报告。(7)指标:要求完成课程设计报告3千字以上(约二、三十页).完成若干综合性程序设计题目,每个综合设计题目的语句行数

4、的和在300行语句以上.2.原始依据了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。3.参考文献1 黄明等. C语言程序设计辅导教材.大连理工大学出版社,20062 马靖善等.C语言程序设计.清华大学出版社,20053 谭浩强.C语言程序设计(第二版).北京:高等教育出版社,2002 2010年7月20日目录1 歌星大赛打分系统1.1 功能说明 11.2 设计说明 11.3 程序运行截图 11.4源程序代码 12五个国家名排序 22.1 功能说明 22.2 设计说明 22.3 程序运行截图 22.4 源程序代码

5、 23谜语博士的难题 33.1 功能说明 33.2 设计说明 33.3 程序运行截图 43.4 源程序代码 44哪个大夫哪天值班 44.1 功能说明 44.2 设计说明. 4.3 程序运行截图 44.4 源程序代码 55分辨黑与白 55.1 功能说明 55.2 设计说明 55.3 程序运行截图 105.4 源程序代码 116学生成绩查询系统6.1 功能说明 56.2 设计说明 56.3 程序运行截图 106.4 源程序代码 111 歌星大赛打分系统1.1功能说明在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1-100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。编

6、写程序实现。1.2 设计说明从键盘上输入评委的打分,用for循环结构求出分数中的最大值max、最小值min以及所有分数的和sum,最后输出sum-max-min的值1.3 程序运行截图1.4 源程序代码#includeint main()int integer,i,max,min,sum;max=-32768; /*先假设当前的最大值max为C语言整型数的最小值*/min=32767; /*先假设当前的最小值min为C语言整型数的最大值*/sum=0; /*将求累加和变量的初值置为0*/for(i=1;imax)max=integer; /*通过比较筛选出其中的最高分*/if(integerm

7、in)min=integer; /*通过比较筛选出其中的最低分*/printf(Canceled max score:%dnCanceled min score:%dn,max,min);printf(Average score:%dn,(sum-max-min)/8); /*输出结果*/getch();2 五个国家名排序2.1 功能说明输入5个国名并按字母顺序排列后输出。2.2 设计说明主函数void main():从键盘上输入各个国家的名字数组cs5,然后用字符串运算符strcpy将数组cs5copy到st20,再比较两数组对应各元素,输出2.3 程序运行截图2.4 源程序代码#inclu

8、de#includevoid main() char st20,cs520; int i,j,p; printf(input countrys name:n); for(i=0;i5;i+) gets(csi); printf(n); for(i=0;i5;i+) p=i;strcpy(st,csi); for(j=i+1;j5;j+) if(strcmp(csj,st)0) p=j; if(p!=i) strcpy(st,csi); strcpy(csi,csp); strcpy(csp,st); puts(csi); printf(n); getch();3 谜语博士的难题3.1功能说明两

9、面族是荒岛上的一个新民族,他们的特点是说话真一句假一句且真假交替。如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。 迷语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族。三人并肩站在博士前面。 博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。 博士问中间的人:“你是什么族的?”,中间的人回答:“两面族的”。 博士问右边的人:“中间的人究竟是什么族的?”,右边的人回答:“说谎族的”。 判断这三个人都是哪个民族的。3.2设计说明变量A=1表示:左边的人是诚实族的(用C语言表示为A);变量B=1表示:中间的人

10、是诚实族的(用C语言表示为B);变量C=1表示:右边的人是诚实族的(用C语言表示为C);变量AA=1表示:左边的人是两面族的(用C语言表示为AA);变量BB=1表示:中间的人是两面族的(用C语言表示为BB);变量CC=1表示:右边的人是两面族的(用C语言表示为CC); 则左边的人是说谎族可以表示为:A!=1且AA!=1 (不是诚实族和两面族的人)用C语言表示为:!A&!AA 中间的人是说谎族可以表示为:B!=1且BB!=1用C语言表示为:!B&!BB 右边的人是说谎族可以表示为:C!=0且CC!=1用C语言表示为:!C&!CC 根据题目中“三人来自三个民族”的条件,可以列出:a+aa!=2&b

11、+bb!=2&c+cc!=2 且 a+b+c=1&aa+bb+cc=1 根据左边人的回答可以推出:若他们是诚实族,则中间的人也是诚实族;若他不是诚实族,则中间的人也不是诚实族。以上条件可以表示为:c&!b&!bb|(!c&!cc)&(b|bb)|!c&cc 将全部逻辑条件联合在一起,利用穷举的方法求解,凡是使上述条件同时成立的变量取值就是题目的答案。3.3程序运行截图3.4源程序代码#includeint main()int a,b,c,aa,bb,cc;for(a=0;a=1;a+) /*穷举全部情况*/for(b=0;b=1;b+)for(c=0;c=1;c+)for(aa=0;aa=1;

12、aa+)for(bb=0;bb=1;bb+)for(cc=0;cc=1;cc+)if(a+aa!=2&b+bb!=2&c+cc!=2& /*判断逻辑条件*/a+b+c=1&aa+bb+cc=1 &(a&!aa&b&!bb|!a&!b)&!b &(c&!b&!bb|(!c&!cc)&(b|bb)|!c&cc)printf(The man stand on left is a %s.n,aa?double-dealer:(a?honest:lier);printf(The man stand on left is a %s.n,bb?double-dealer:(b?honest:lier);pr

13、intf(The man stand on left is a %s.n,cc?double-dealer:(c?honest:lier); /*输出最终的推理结果*/getch();4 哪个大夫哪天值班4.1功能说明医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知:A大夫比C大夫晚一天值班;D大夫比E大夫晚二天值班;B大夫比G大夫早三天值班;F大夫的值班日在B和C大夫的中间,且是星期四; 确定每天究竟是哪位大夫值班。4.2设计说明由题目可推出如下已知条件:F是星期四值班;B值班的日期在星期一至星期三,且三天后是G值班;C值班的日期在星期五至星

14、期六,且一天后是A值班;E两天后是D值班;E值班的日期只能在星期一至星期三; 在编程时用数组元素的下标1到7表示星期一到星期天,用数组元素的值分别表示A-F七位大夫。4.3程序运行截图4.4源程序代码#include #include int a8; char *day=,MONDAY,TUESDAY,WED,THUSDAY, FRIDAY,SATDAY,SUNDAY;main() int i,j,t; a4=6; for(i=1;i=3;i+) ai=2; if(!ai+3) ai+3=7; else ai=0;continue; for(t=1;t=3;t+) if(!at) at=5;

15、else continue; if(!at+2) at+2=4; else at=0;continue; for(j=5;j7;j+) if(!aj) aj=3; else continue; if(!aj+1) aj+1=1; else aj=0;continue; for(i=1;i=7;i+) printf(Doctor %d is on duty %s.n,1+ai-1,dayi); getch();5 分辨黑与白5.1功能说明有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,A说:“我看见有三人额头上帖的是白纸,

16、一人额头上帖的是黑纸。”B说:“我看见其它四人额头上帖的都是黑纸。”C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。”D说:“我看见四人额头上帖的都是白纸。”E什么也没说。 现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。判断五人谁的额头是帖白纸,谁的额头是帖黑纸。5.2设计说明假如变量A、B、C、D、E表示每个人额头上所帖纸的颜色,0 代表是黑色,1 代表是白色。根据题目中A、B、C、D四人所说的话可以总结出下列关系:A说: a&b+c+d+e=3|!a&b+c+d+e!=3B说: b&a+c+d+e=0|!b&a+c+d+e!=0C说: c&a+b+d+e=

17、1|!c&a+b+d+e!=1D说: d&a+b+c+e=4|!d&a+b+c+e!=4 穷举每个人额头所帖纸的颜色的所有可能的情况,代入上述表达式中进行推理运算,使上述表达式为“真”的情况就是正确的结果。5.3程序运行截图5.4源程序代码#includeint main()int a,b,c,d,e;for(a=0;a=1;a+) /*黑色:0 白色:1*/for(b=0;b=1;b+) /*穷举五个人额头帖纸的全部可能*/for(c=0;c=1;c+)for(d=0;d=1;d+)for(e=0;e=1;e+)if(a&b+c+d+e=3|!a&b+c+d+e!=3)&(b&a+c+d+e

18、=0|!b&a+c+d+e!=0)&(c&a+b+d+e=1|!c&a+b+d+e!=1)&(d&a+b+c+e=4|!d&a+b+c+e!=4)printf(A is pasted a piece of %s paper on his forehead.n,a?white:black);printf(B is pasted a piece of %s paper on his forehead.n,b?white:black);printf(C is pasted a piece of %s paper on his forehead.n,c?white:black);printf(D is

19、 pasted a piece of %s paper on his forehead.n,d?white:black);printf(E is pasted a piece of %s paper on his forehead.n,e?white:black); getch();6 学生成绩查询系统6.1功能说明查询修改统计成绩。6.2设计说明子函数:int SelectMainMenu() 显示并选择主菜单。返回:被选择的菜单项void Show() 成绩查询模块void Modify() 成绩修改模块void Stat() 成绩统计模块void StatAve(float *AveWu

20、Li,float *AveShuXue,float *AveYingYu,float *AveKuaiJi) 统计平均分int FindStudent(int num) 根据学号查找某一学生void SetAllTotle() 计算所有学生总分void SetTotle(int No) 计算第No个学生总分void ShowAllStudent() 显示所有成绩void ShowTitle() 显示表头信息void ShowStudent(int No) 显示第No个的学生信息主函数void main():运用switch语句,调用各个子函数完成学生成绩的管理6.3程序运行截图6.4源程序代码

21、#include struct student /*成绩表的结构声明*/ int num; char name15; char sex; float WuLi; float ShuXue; float YingYu; float KuaiJi; float totle;/*定义6个学生的信息:*/#define STU_NUMBER 6 /*宏定义学生数为6*/struct student StuSTU_NUMBER=101,yuchen, F, 98,85,96,89,0, 102,xiaotong, F, 99,91,90,93,0, 103,likanglong,M, 76,83,74,

22、82,0, 104,yinger, F, 88,76,89,77,0, 105,fengjiao, F, 97,100,94,96,0, 106,sunyao, M, 87,89,66,84,0 ;int SelectMainMenu(); /*显示并选择主菜单。返回:被选择的菜单项*/*所有的函数声明:*/void Show(); /*成绩查询模块*/void Modify(); /*成绩修改模块*/void Stat(); /*成绩统计模块*/void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float *AveKu

23、aiJi);/*统计平均分*/int FindStudent(int num); /*根据学号查找某一学生*/void SetAllTotle(); /*计算所有学生总分*/void SetTotle(int No); /*计算第No个学生总分*/void ShowAllStudent(); /*显示所有成绩*/void ShowTitle(); /*显示表头信息*/void ShowStudent(int No); /*显示第No个的学生信息*/void main() int isend=0,password=0; /*程序结束标志量,0表示不结束,1表示结束*/ SetAllTotle()

24、; /*计算所有学生总分*/ while(password!=666) printf(qing shu ru mi ma:n); scanf(%d,&password); while(1) switch(SelectMainMenu() /*显示并选择主菜单*/ case 1: /*成绩查询*/ Show(); /*调用成绩查询函数*/ break; case 2: /*成绩修改*/ Modify(); /*调用成绩修改函数*/ break; case 3: /*成绩统计*/ Stat(); /*调用成绩统计函数*/ break; case 4: /*退出系统*/ printf(nxie xi

25、e nin de shi yong,zai jian!nn); isend = 1; /*设置程序结束标志*/ break; if(isend) break; /*程序结束*/ int SelectMainMenu() /*显示并选择主菜单。返回:被选择的菜单项*/ int menu_no=0; do /*显示并选择菜单*/ printf(=n); printf( n); printf( zuo zhe:li yi mann); printf(=n); printf( zhu cai dan:n); printf( 1 - cheng ji cha xunn); printf( 2 - che

26、ng ji xiu gain); printf( 3 - cheng ji tong jin); printf( 4 - tui chu xi tongn); printf( qing xuan ze(1-4):); scanf(%d,&menu_no); while(menu_no4); /*直到选择出正确的序号*/ return menu_no;void Show() /*成绩查询模块*/ int n,i; while(1) printf(n=cheng ji cha xun=n); printf(qing shu ru xue hao(shu ru 0 tui chu cheng ji

27、cha xun,shu ru 1 cha xun quan bu):); scanf(%d,&n); if(n=0) break; /*退出成绩查询模块*/ if(n=1) ShowAllStudent(); /*显示所有成绩*/ else if(i=FindStudent(n)=0) /*找到学号为n的学生*/ ShowTitle(); /*显示表头信息*/ ShowStudent(i); /*显示该学生信息*/ else printf(-zhao bu dao gai xue hao-n); void Modify() /*成绩修改模块*/ int n,i,a; while(1) printf(n=cheng ji xiu gai=n); printf(qing shu ru xue hao(shu ru 0 tui chu cheng ji xiu gai):); scanf(%d,&n); if(n=0)break; /*退出成绩修改模块*/if(i=FindStudent(n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1