![C语言课程设计报告_第1页](http://file4.renrendoc.com/view11/M00/02/3B/wKhkGWWJn8aAS34PAAA05Itx0k8418.jpg)
![C语言课程设计报告_第2页](http://file4.renrendoc.com/view11/M00/02/3B/wKhkGWWJn8aAS34PAAA05Itx0k84182.jpg)
![C语言课程设计报告_第3页](http://file4.renrendoc.com/view11/M00/02/3B/wKhkGWWJn8aAS34PAAA05Itx0k84183.jpg)
![C语言课程设计报告_第4页](http://file4.renrendoc.com/view11/M00/02/3B/wKhkGWWJn8aAS34PAAA05Itx0k84184.jpg)
![C语言课程设计报告_第5页](http://file4.renrendoc.com/view11/M00/02/3B/wKhkGWWJn8aAS34PAAA05Itx0k84185.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C程序设计》课程设计第1章分支与循环1.1设计任务1.马克思手稿中有一道数学题,有30人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令,每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令;问男人、女人和小孩各有几人?2.A、B、C、D、E五人在某天夜里合伙捕鱼,到第二天凌晨都疲惫不堪,于是各自睡觉。日上三竿,A第一个醒来,他将鱼分成了5份,把多余的1条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分成了5份,把把多余的1条鱼扔掉,拿走自己的一份。C、D、E依次醒来按同样的方法拿鱼。问他们合伙至少补了多少条鱼?1.1算法分析设男人、女人、小孩分别为x、y、z个,依据题目能列出下列两个方程:x+y+z=30;3*x+2*y+1*x=50;三个未知数,只有两个方程,故是个多解问题。可采用多重循环组合出各种可能的a、b、c的值。通过循环列出公鸡、母鸡和小鸡可能的只数,再对可能的只数进行条件测试。50先令,全部由男人吃最多只能有16个男人,即男人的个数x的范围是:x=0to1650先令,全部由女人吃最多只能有25个女人,即男人的个数x的范围是:x=0to2550先令,全部由小孩吃最多只能有50个小孩,即男人的个数x的范围是:x=0to50源程序代码#include<stdio.h>intmain(){intx,y,z;for(x=0;x<=16;x++)for(y=0;y<=25;y++)for(z=0;z<=50;z++)if(x+y+z==30&&3*x+2*y+1*z==50)printf("男人的人数:%d女人的人数:%d小孩的人数:%d\n",x,y,z);return0;}1.2算法分析要知道他们合伙补了多少鱼,只需知道A醒来时看到多少条鱼,所以要知道B醒来时看到多少条鱼。。。。。。所以需知道E醒来时看到多少条鱼,而题意是他们至少捕获多少条鱼,所以E醒来时一定是6条鱼,而前一个醒来时的鱼是后一个人醒来时的5倍还多一条。即:Age(n)=age(n-1)*5+1;age(1)=6;源程序代码#include<stdio.h>inttiao(intn){ intc; if(n==1)c=6; elsec=tiao(n-1)*5+1; returnc;}intmain(){ printf("%d\n",tiao(5)); return0;}第2章数组与函数2.1设计任务1.有一个一维数组score[],内存放10个学生的成绩,要求编写三个函数分别求学生的平均成绩,求10个学生的最高分,求10个学生的最低分。2.编写一个函数,将输入的一串字符中的小写字母转成大写字母,并输出所有的大写字母。3.输入10个学生姓名,按字典顺序将排在最前面的学生姓名输出,即在字符数组中求最小字符串。2.1源程序代码#include<stdio.h>voidfunA(intscore[10]){inti,g,d,s=0;floatav; for(i=0;i<10;i++) s+=score[i]; av=s/10; g=score[0];for(i=1;i<10;i++)if(score[i]>g)g=score[i];d=score[0];for(i=1;i<10;i++)if(score[i]<d)d=score[i];printf("平均分:%6.1f最高分:%d最低分:%d\n",av,g,d);}intmain(){intscore[10]={91,91,93,94,95,96,97,98,99,100};funA(score);return0;}2.2源程序代码#include<stdio.h>intmain(){charc;printf("请输入一行字符:\n");while((c=getchar())!='\n'){ if(c>='a'&&c<='z') { c=c-32; printf("%c",c);}}printf("\n");return0;}2.2源程序代码#include<stdio.h>#include<string.h>intmain(){ charst[20],cs[10][20]; inti,j; printf("请输入学生的姓名:\n"); for(i=0;i<10;i++) gets(cs[i]); printf("\n"); strcpy(st,cs[0]); for(j=1;j<10;j++) if(strcmp(cs[j],st)<0) strcpy(st,cs[j]); puts(st); return0;}运行结果
第3章指针和结构体3.1设计任务1.编写两个排序函数,要求一个函数完成从小到大排序,一个函数完成从大到小排序,并编写主函数完成:(1)输入n个数。(2)组织调用排序函数对n个数按从大到小输出。(3)组织调用排序函数对n个数按从小到大输出。2.输入n个学生的学号,性别,年龄和3个单科分数,分别输出男生总分和女生总分。3.编写一个函数,这个函数的功能:求出n个学生成绩的最高分,最低分,平均分及超过平均分的人数。并编写主函数完成:(1)输入n个学生的成绩。(2)调用编写函数进行比较统计。(3)输出统计结果。3.1源程序代码#include<stdio.h>voidfunA(inta[10]){ inti,j,t; for(i=0;i<=8;i++)for(j=i+1;j<=9;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;};for(i=0;i<10;i++) printf("%d",a[i]);printf("\n");}voidfunB(inta[10]){ inti,j,t;for(i=0;i<=8;i++)for(j=i+1;j<=9;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;};for(i=0;i<10;i++) printf("%d",a[i]);printf("\n");}intmain(){ inti,a[10]; printf("请输入10个数字:\n");for(i=0;i<10;i++)scanf("%d",&a[i]); funA(a); funB(a); return0;}3.2源程序代码#include<stdio.h>#defineN3structstudent{ intnum; charsex; intage; floatscore[3];};intmain(){ structstudentstud[N]= {{110,'g',20,90,95,100}, {111,'b',20,99,99,99}, {112,'b',20,100,100,99}}; inti; floats1=0,s2=0; for(i=0;i<N;i++) if(stud[i].sex=='g')s1+=stud[i].score[0]+stud[i].score[2]+stud[i].score[3]; elses2+=stud[i].score[0]+stud[i].score[2]+stud[i].score[3]; printf("女生的总分:%6.1f\n男生的总分:%6.1f\n",s1,s2); return0;}3.3源程序代码#include<stdio.h>voidfunA(inta[10]){ inti,n=0; intmax=a[0],min=a[0]; floats=0,av; for(i=1;i<10;i++) if(a[i]>max)max=a[i];for(i=1;i<10;i++)if(a[i]<min)min=a[i];for(i=0;i<10;i++)s+=a[i];av=s/10;for(i=0;i<10;i++)if(av<a[i])n++;printf("最高分:%d\n最低分:%d\n平均分:%6.1f\n超过平均分的人数:%d\n",max,min,av,n);}intmain(){inti,a[10];printf("请输入10个学生的成绩:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);funA(a);return0;}
第4章综合4.1设计任务运用C语言开发一个“小学生算术四则运算测试系统”。该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题并阅卷。该系统要求实现下列功能:(1)为小学生出题(分别进行+,-,*,/等不同运算)。(2)学生做题后,进行评阅。学生每做一题后,评阅给出“答题正确,很好”或“答题错误,重做”等信息。(3)加,减,乘,除运算功能可以自由选择实现。(4)运算数值可控制在两位数的四则运算范围内。4.3源程序代码#include<stdio.h>#include<stdlib.h>#include<time.h>voidmain(){inti,a[8];floatd;srand(time(0));/*设置种子,并生成伪随机序列*/for(i=0;i<8;i++)a[i]=rand()%20;/*得到[0,8]伪随机数*/printf("\n");printf("第一道题:%d+%d=\n第二道题:%d-%d=\n第三道题:%d*%d=\n第四道题:%d/%d=\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6]*a[7],a[7]); printf("请输入第一题的答案:");scanf("%f",&d);while(d!=a[0]+a[1]){printf("答题错误,重做\n");printf("请输入第一题的答案:\n");scanf("%f",&d);}printf("答题正确,很好\n");printf("请输入第二题的答案:");scanf("%f",&d);while(d!=a[2]-a[3]){printf("答题错误,重做\n");printf("请输入第一题的答案:\n");scanf("%f",&d);}printf("答题正确,很好\n");printf("请输入第三题的答案:");scanf("%f",&d);wh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国传感器网络平台行业投资前景及策略咨询研究报告
- 2025年软启动控制装置项目可行性研究报告
- 2025至2030年台式数控超声波清洗器项目投资价值分析报告
- 2025年中国镀锌中间体市场调查研究报告
- 2025年中国钢铁除蜡剂市场调查研究报告
- 家用视听设备趋势预测考核试卷
- 卫生用品零售连锁管理与扩张考核试卷
- 2025-2030年发光轮儿童滑板车企业制定与实施新质生产力战略研究报告
- 国际支付系统运作原理考核试卷
- 2025-2030年坚果油脂精炼设备行业跨境出海战略研究报告
- 学校开学教师安全培训
- 出口潜力分析报告
- 大美陕西欢迎你-最全面的陕西省简介课件
- 三位数减三位数的减法计算题 200道
- 米粉项目可行性研究报告
- 蛇年元宵节灯谜大全(附答案)
- 2023年上海中侨职业技术大学单招考试职业技能考试模拟试题及答案解析
- 中国教育公益领域发展报告
- 第2章第1节有机化学反应类型课件高二下学期化学鲁科版选择性必修3
- 生物质能利用原理与技术 - 第二章生物质能资源与植物
- 校本课程《竹之匠艺》
评论
0/150
提交评论