c语言课程计划设计报告_第1页
c语言课程计划设计报告_第2页
c语言课程计划设计报告_第3页
c语言课程计划设计报告_第4页
c语言课程计划设计报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C程序设计课程设计学院:-*专业:.*班级:-*学号:-*姓名:-*指导教师:-*2016年9月第1章分支与循环1.2设计任务1. 王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:煎饼不许离开砧板,切100刀最多能分成多少块?”2. 若一个口袋中放有 12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个 球,问共有多少不同的颜色搭配,把每种搭配显示出来。3. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。4. 简单计算器。请编写一个程序计算表达式:data1 op data2 的值。其中op为运算符+、-、*、/,data1 和 data2 是数

2、据。5. 猜数游戏。由计算机“想” 一个数请人猜,如果猜对了,则游戏结束,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到猜对为止。计算机记录人猜的次数,以此可以反映出猜数者“猜”的水平。6. 一辆肇事汽车的号码是4位十进制数。目击者向交警描述这个车号:这是一个完全平方数;这4个数字从左至右一个比一个小。请帮助交警寻找肇事者,将车号算出来。1.3实现过程1.3.1设计任务1的实现过程【任务描述】1 .王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:“煎饼不许离开砧板,切100刀最多能分成多少块?”【算法分析】(用文字或流程图进行描述)用到数学中的逆推公式。s=1+ n*(n+1)/

3、2【源程序代码】#i nclude main ()int n ,s;for(n=1; *=100; n+)s=1+ n*(n +1)/2;prin tf(%dn,s);【编译示图】(示图中要有 0 error,。warning的提示)【运行结果示图】1.3.2 设计任务2的实现过程【任务描述】6. 一辆肇事汽车的号码是 4位十进制数。目击者向交警描述这个车号:这是一个完全平方 数;这4个数字从左至右一个比一个小。请帮助交警寻找肇事者,将车号算出来。【算法分析】(用文字或流程图进行描述)找出这个四位数的个、十、百、千位数,利用题目条件运用两个for循环最后求出结果。【源程序代码】#i nclud

4、e main ()int s,a,b,c,d,e;for(s=1000;s10000;s+)a=s%10;/geweib=s/10%10;/shiweic=s/100%10;/baiweid=s/1000;/qia nweifor(e=30;eb&bc&cd&e*e=s)prin tf(%dn,s);【编译示图】(示图中要有 0 error,。warning的提示)【运行结果示图】1.3.3设计任务3实现过程【任务描述】2. 若一个口袋中放有 12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个 球,问共有多少不同的颜色搭配,把每种搭配显示出来。【算法分析】(用文字或流程图进行描述

5、)用三个for循环嵌套,再以一个if条件语句就可以输出最后结果。【源程序代码】#i nclude main ()i nt x,y,z;for(x=0;x4;x+)for(y=0;y4;y+)for(z=0;z7;z+)if(x+y+z=8)printf(%d红 %d 白 %d 黑n,x,y,z);【编译示图】(示图中要有 0 error,。warning的提示)T s:rT-=-I- f-*iT U H 1!i Vl【运行结果示图】ci aC lr 社會 1 t J?r1. i-Kii-tal 3Ladi oVBu j ueL t BelhwgS a t. *i ft*1口1 X1一.囂鬲臨”

6、鬻冒為lL11一 fes6s4G5 3 2wn uAm白 drlmm白口白白口 A 312 3h-123h23_hIt_n1.3.4设计任务4实现过程【任务描述】3. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。 【算法分析】(用文字或流程图进行描述)先用if语句判断出平年和闰年,再用for循环输出最后结果。【源程序代码】#i nclude void mai n()int year,moth,day;int a12=31,28,31,30,31,30,31,31,30,31,30,31;平年 2 月 28 天 365 天int b12=31,29,31,30,3

7、1,30,31,31,30,31,30,31;闰年 2 月 29 天 366 天int i,j, num=0;int x;printf(”请输入年 月 日,n);sca nf(%d,%d,%d, &year,&moth, &day);if(year%4=0)&(year%100!=0 )| (year%4=0)&( year%400=0)x=1;elsex=0;if(x)for(i=0;imoth-1;i+)nu m+=bi;nu m+=day;elsefor(j=0;ji 1V _: !r - ;i TI,i|gj|,k|j|Jit j| -,3*. H1 .-匚 I;:Ii4 hjHI|,

8、.-.:) t arm|P t wrli和l-i I W I用 呻冲已 也f*十 g Mr亍【运行结果示图】1.3.5设计任务5实现过程【任务描述】4. 简单计算器。请编写一个程序计算表达式:datal op data2的值。其中op为运算符+、-、*、/,data1 和 data2 是数据。【算法分析】(用文字或流程图进行描述)先输出所需数据和运算符,然后用 switch语句进行判断,最后输出结果。【源程序代码】#i nclude void mai n()float a,b;char c;printf(请输入数字a,运算符c,数字b:n);sca nf(%f%c%f, &a,&c,& b);

9、/char c;printf(请输入运算符:n”);/sca nf(%c,&c);switch(c)case+: prin tf(%fn,a+b); break;case-: prin tf(%fn,a-b); break;case*: prin tf(%fn,a*b); break;case/: prin tf(%fn,a/b); break;default: prin tf(i nput errorn ”);【编译示图】(示图中要有 0 error,。warning的提示)【运行结果示图】第2章数组与函数2.2设计任务1. 有一个一维数组score,内存放10个学生的成绩,要求编写三个函数

10、分别求学生的平 均成绩,求10个学生的最高分,求 10个学生的最低分。2. 编写一个函数,将输入的一串字符中的小写字母转变成大写字母,并输出所有的大写字母。3. 输入10个学生姓名,按字典顺序将排在最前面的学生姓名输出。即在字符数组中求最小字符串。4. 用函数求N*N的对角线的和。其中的 N是用户通过键盘输入的任意值。5. “数学黑洞”:任意一个 4位自然数,将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差任为一个自然数。重复进行上述运算,会发现一个神秘的数。6. 输入n值,打印边长为n的空心正六边形,其边有 * 组成。例如:n=4时,图形如下:* * * * *

11、*2.3实现过程2.3.1 设计任务1实现过程【任务描述】1. 有一个一维数组score,内存放10个学生的成绩,要求编写三个函数分别求学生的平 均成绩,求10个学生的最高分,求 10个学生的最低分。【算法分析】(用文字或流程图进行描述)用数组存放10个学生的成绩,然后用求出平均分、最高分、最低分。【源程序代码】#in cludeint score10=56,66,21,45,52,65,70,82,90,92; in t i,max,mi n;aver()int i;float aver=0,a=0;for(i=0;i10;i+)a+=scorei;prin tf(aver=%fn,a/10

12、);maxai n()max= min=score0;for(i=0;imax)max=scorei;if(score0mi n)min=scorei;printf(max=%dn min=%dn,max,min);void mai n()aver();max= min=score0;for(i=0;imax)max=scorei;if(score0vkHjgrhLiE-aF!9-$i*l.EK? 口llw 3( 2min=56 h:tss snv icev to|4j: u.-4rSa 4 :232设计任务2实现过程【任务描述】并输出所有的大写字2. 编写一个函数,将输入的一串字符中的小写字

13、母转变成大写字母, 母。【算法分析】(用文字或流程图进行描述)用gets()函数输入字符串,然后讲小写字母转换成大写使用puts()输出。【源程序代码】#in cludevoid mai n()char ch20;int i;prin tf(i nput stri ng:n);gets(ch); for(i=0;i=97&chi=122) chi-=32;puts(ch);【编译示图】(示图中要有 0 error,。warning的提示)【运行结果示图】 1m i n mtr wIei ID aid: pa&.CWhu Q XLnrvt ptr atig iT栏山edTd FSSMTCTm 片

14、g住 对F kiv la第3章指针3.2设计任务1. 已知一个整型数组 a5,其各元素值为4, 6, 8, 10, 12。使用指针法求该数组元素之积。 2.100个围成一圈,从第1个人开始,每数到 3的人出圈。问最后一个出圈的人是哪一个。3. 编写两个排序函数,要求一个函数完成从小到大排序,一个函数完成从大到小排序,并编写主函数完成: 输入n个数; 调用排序函数对n个数按从大到小排序并输出; 调用排序函数对n个数按从小到大排序并输出;3.3实现过程3.3.1 设计任务1实现过程【任务描述】1. 已知一个整型数组 a5,其各元素值为4,6, 8,10,12。使用指针法求该数组元素之积。【算法分析

15、】(用文字或流程图进行描述)使用数组存放元素,然后用指针取出数值运算。【源程序代码】#in cludemain ()int a5=4,6,8,10,12;int *p,s=1;for(p=a;pfeM, -hMMa -la离|Mi !Hg 取 Z* K土-亠彳 C .: |VTijn E: 4 11 - *P| 雷丿* JmiJP4L W J-4L1/MfcwljII-4 1 4 H ; ( T ; p =-【运行结果示图】2304)Ftp=- =any Iksy tu 匚nntim332设计任务2实现过程【任务描述】100个围成一圈,从第1个人开始,每数到 3的人出圈。问最后一个出圈的人是哪

16、一个。【算法分析】(用文字或流程图进行描述)使用for循环取出出圈人,然后用 wile输出最后一个出圈的人。【源程序代码】#in clude#defi ne n 100void mai n()int an ,i,qu it_nu m,k;for(i=0;in;i+)数组a存放原始编号ai=i+1;quit_ nu m=0; 出圈人数i=0;k=0;while(quit_ num n-1)直到只剩下1人时if(ai!=0)k+;if(k=3)ai=0;quit_nu m+;k=0;i+;if(i=n )i=0;for(i=0;i n;i+)if(ai!=0)prin tf(%dn,ai);【编译

17、示图】(示图中要有 0 error,。warning的提示)【运行结果示图】第4章综合设计题4.1设计任务1. 运用C语言开发一个“小学生算术四则运算测试系统”。该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题并阅卷。该系统要求实现下列功能: 为小学生出题(分别进行 +、-、*、/等不同运算)。 学生做题后,进行评阅。学生每做一题后,评阅给出“答题正确,很好”或“答题错误,重做”等信息。 加、减、乘、除运算功能可以自由选择实现。 运算数值可控制在两位数的四则运算范围内。2. 运用C语言开发一个“比赛评分系统”。评委打分原则:满分10分,评委打分后,去掉一个最高分和一个最低分,最后

18、的平均分为参赛选手的最后得分(精确到小数点后两位)。要求该系统实现以下功能: 假设参赛人数为20人,评委为10人。(有兴趣的同学可拓展为参赛人数为n人,评委为m人)。并对参赛选手和评委分别编号,序号从 1开始,顺序编号。 选手按编号顺序依次参加比赛,统计最后得分。 比赛结束,按从高分到低分每行5人依次打印选手的得分情况。 公布选手获奖。取一等奖 1名,二等奖2名,三等奖3名。3. 王小二帮学生食堂编了一个买菜计价的程序,该程序可以显示菜单,让学生输入菜号来选择买什么菜,之后程序会报出你买了多少个菜,用了多少钱。4.2设计过程4.2.1 设计任务实现过程【任务描述】2. 运用C语言开发一个“比赛

19、评分系统”。评委打分原则:满分10分,评委打分后,去掉一个最高分和一个最低分,最后的平均分为参赛选手的最后得分(精确到小数点后两位)。要求该系统实现以下功能: 假设参赛人数为20人,评委为10人。(有兴趣的同学可拓展为参赛人数为n人,评委为m人)。并对参赛选手和评委分别编号,序号从 1开始,顺序编号。 选手按编号顺序依次参加比赛,统计最后得分。 比赛结束,按从高分到低分每行5人依次打印选手的得分情况。 公布选手获奖。取一等奖 1名,二等奖2名,三等奖3名。【算法分析】(用文字或流程图进行描述)使用for循环嵌套输出每位选手的评分,然后用冒泡排序法排序,然后输出得奖人。【源程序代码】#in cl

20、ude#in cludevoid mai n() int max(float b); in t mi n(float b);int i1,k1,j1,t,t1,b1; float tt;int ii, jj;int flag = 1;int k,m,i,b,j; float sum=0;float a10,c20;printf(”评分系统n);printf( * for(b=0;b20;b+)prin tf(%d号选手:n ”,b+1);for(i=0;i=9;i+)prin tf(%d号评委的评分是:”,i+1);scan f(%f,&ai);sum+=ai; for(j=0;j10;j+)

21、 cj=sum/10;prin tf(nn); k=max(a); m=mi n(a);printf(”n);printf(nn ”);prin tf(n最高分是:%g最低分是:%gnn ”,ak,am);printf(删除最高分最低分之后的总分是:gnn,sum-ak-am);printf(这位选手的平均分是:gnn ,(sum-ak-am)/10);cb = (sum-ak-am)/10;sum = 0;printf(*nnnn);for(b1=0;b120;b1+)printf(”第4 位选手的分数是:gn,b1+1,cb1); for(ii=0;ii20;ii+)for(jj=0;jj

22、ajj+1) /如果后面的数字大于前面的数字tt=cjj;cjj=cjj+1;cjj+1=tt; /就把两个数交换prin tf(%g ,cjj);printf(”第一名%g”,c0);printf(”第二名%g,c1);printf(”第三名%g,c2);int max(float b)/最大值 int i,k=0;float max=b0;for(i=0;i10;i+)if(maxbi) max=bi;k=i;return k;int i,m=0;float min=b0;for(i=1;i10;i+)if(bimi n)mi n=bi;m=i;return m;【编译示图】(示图中要有

23、0 error,。warning的提示)【运行结果示图】亠55Sriu- U - i 1 E 4 3 D s -a 4- 7 8 9 4 - -t:*一X:雷.rl.-.r-1A.4.TiT: 平平平+TrTTK.* 1I il if :1JBf w-ErJ旳的BflEnRrff1lrl&- 卜ArTTrf-TITTT M 片I号却4Tfgtrz* 1 3 4 =J8r? a.- -I 1IR rfi T A-* 9JBHrtr労录 f 3, 5删蜡审高5HJH昭之崔的豆时是I电a 7这位儘壬抽干均分足; *?*: H XLG3CK3!-KKKKn- KElACKHK-C3CLEWM iCXL

24、E-KK aX3KKK LnEKk aTKa-Xlfb- 422设计任务实现过程【任务描述】运用C语言开发一个“小学生算术四则运算测试系统”。该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题并阅卷。该系统要求实现下列功能: 为小学生出题(分别进行 +、-、*、/等不同运算)。 学生做题后,进行评阅。学生每做一题后,评阅给出“答题正确,很好”或“答题错误,重做”等信息。 加、减、乘、除运算功能可以自由选择实现。 运算数值可控制在两位数的四则运算范围内。【算法分析】(用文字或流程图进行描述)用随机函数取出两个数1-100,用while循环判断是否重做,用switch(选择加、减、乘、除运算,然后输出结果。【源程序代码】#in clude#i nclude #in clude int mai n()int a=0,b=1,x=0,y=0,i=0,x1=0,y1=0;sran d(u nsig ned in t)time(NULL);/设置当前时间为种子w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论