C语言课程设计报告

上传人:优*** 文档编号:35854678 上传时间:2021-10-28 格式:DOC 页数:16 大小:138.50KB
返回 下载 相关 举报
C语言课程设计报告_第1页
第1页 / 共16页
C语言课程设计报告_第2页
第2页 / 共16页
C语言课程设计报告_第3页
第3页 / 共16页
点击查看更多>>
资源描述
真诚为您提供优质参考资料,若有不当之处,请指正。C语言课程设计学部: 机械与电子信息学部 专业: 地理信息科学 班级: 21001301 学号: 2100130135 姓名: 黄品华 指导老师: 刘 艳 2014年6月1 / 16文档资料的统一要求:1、 文档中的正文字体用五号宋体。2、 C+源文件要求以学号或姓名命名。3、 每个问题均要有算法分析,源程序代码,运行结果示图。4、 在课程设计最后要有心得体会,描述在设计过程中遇到的困难,和解决的方法。5、没有按要求做的同学则视为本课程设计不合格。6、每次上机所做的内容用移动磁盘带走。7、此页内容删除后用来生成目录。第1章 循环 函数 文件1.1设计任务1. A、B、C、D、E五人在某天夜里合伙捕鱼,到第二天凌晨都疲惫不堪,于是各自睡觉。日上三竿,A第一个醒来,他将鱼分成了5份,把多余的1条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分成了5份,把多余的1条鱼扔掉,拿走自己的一份。C、D、E依次醒来按同样的方法拿鱼。问他们合伙至少补了多少条鱼?2. 给出年,月,日,计算该日是该年的第几天。(要求编写函数)3. 验证歌德巴赫猜想:任意一个大于6的偶数均可表示为两个质数的和。(要求 编写函数)4. 建立一个文件,用来存放自然数120及其平方根,然后输入120之内的任意一个自然数,查找出其平方根显示在屏幕上(求平方根时可使用math.h中的库函数sqrt)。1.2算法分析1、要知道他们合伙捕了多少鱼,只需知道A醒来时看到多少条鱼,所以要知道B醒来时看到多少条鱼所以需知道E醒来时看到多少条鱼。而题意是他们至少捕获多少条鱼,所以E醒来时一定是6条鱼,而前一个醒来时的鱼是后一个醒来时的5倍还多一条。所以起始是6条鱼。2、先根据年号判断是不是闰年,if(y%4=0&y%100!=0)如果这个式子为真就是闰年,然后再根据月份来算里面有几个大月,几个小月,把所有“满月”的日子算出来了,最后再把“年,月,日”里的“日”给加上去就好了,就把所有的都求出来了。3、1.3源程序代码1. #includevoid main() int i,j,n; for(i=6;i=4000;i+) n=i; for(j=0;j=0)n=(n-1)/5*4;else break; if(j=5) printf(%dn,i); 2.#includeint day(int x);int main() int y,m,d; printf(请输入需要查找的年份:n); scanf(%d%d%d,&y,&m,&d); m=day(m);m=m+d;if(y%4=0&y%100!=0)m=m+1;printf(%d,m);return 0;int day(int x)int e12=31,28,31,30,31,30,31,31,30,31,30,31;int i,c1=0; for(i=0;ix-1;i+) c0=c0+ei; return c0;3.#includeint f(int n)int i;for(i=2;in;i+)if(n%i=0)return 0;return 1;int main()int i,j,k,num,count;printf(请输入一个大于6的偶数:);scanf(%d,&num);for(i=1;inum/2;i+)j=i;k=num-i;if(f(j)=1&f(k)=1)if(count%5=0)printf(“n”);count+;printf(这个数是由%d和%d组成的n,j,k); return 0;4.#include#include #include class file int x;double y; public:friend ostream& operator(istream&is,file&ff); void get(int q); void display(); ; ostream &operator(istream &is,file &ff) is.read(char*)&ff.x,4); is.read(char*)&ff.y,8); return is; void file:get(int q) x=q; y=sqrt(double(q); void file:display() coutx yendl; void main() fstream f1; f1.open(dat.txt,ios:out|ios:in|ios:binary); if(!f1)coutdat.txt不能打开;return; for(int i=1;i21;i+) file a; a.get(i); f1a; while(1) int j; cout请输入任意一个1-20自然数j; f1.seekp(12*(j-1); file b; f1b; b.display(); f1.close(); 1.4运行结果1、2、3、4、第2章 小学生算术运算测评系统2.1设计任务小学生算术运算测试系统能自动生成加法、减法、乘法和除法的算数表达式,并且通过学生输入的答案判断结果是否正确,然后给出提示。在用户选择结束程序时,可以统计共答了多少题,得分是多少。2.2算法分析对于这样的多元素编程,使用结构体来实现会好些。2.3源程序代码#include#include#includestruct data int num1; char ch; int num2; int num3;void main() struct data d10; srand (time(0); int n,i; for(i=0;i10;i+) n=rand()%99+1; di.num1=n; n=rand()%99+1; di.num2=n; n=rand()%4; if(n=0) di.ch=+; else if(n=1) di.ch=-; else if(n=2) di.ch=*; else if(n=3) di.ch=/; FILE *fp; fp=fopen(1.txt,ab+); fprintf(fp,%d%c%d=rn,di.num1,di.ch,di.num2); fclose(fp);#includestruct data int num1; char ch; int num2; int num3;void main()int i,s=0; struct data d10; FILE *fp; fp=fopen(1.txt,rt+); for(i=0;i10;i+) fscanf(fp,%2d%c%2d,&di.num1,&di.ch,&di.num2); fgetc(fp); fscanf(fp,%d,&di.num3); int n ; switch(di.ch) case+: n=di.num1+di.num2 ; break; case-: n=di.num1-di.num2 ; break; case*: n=di.num1*di.num2 ;break; case/: n=di.num1/di.num2 ;break; if(n=di.num3) s+; fseek(fp,0,2); fprintf(fp,得分:%d,s*10);2.4运行结果第3章 比赛评分系统3.1设计任务有20名参赛选手,有10名评委对参赛选手按10分制评分。选手的编号从1开始,顺序编号,按序号参赛。具体要求如下:1.10位评委能对20位选手进行打分,要有给第几号选手打分的提示信息。如:给第1号选手打分:打完后接着有提示给第2号选手打分:依此类推,直到20位选手打分完毕。2.10位评委对每位选手的打分能按照从低分到高分的排序。3.去掉10位评委打分的一个最低分、一个最高分后求出每位选手的平均得分。4.对每位选手的平均分按从高到低的顺序进行排序。排序时要求选手编号与其得分一起进行。5.按参赛选手编号顺序输出选手编号及其对应成绩;按选手编号、选手得分输出参赛选手的一、二、三等奖。3.2算法分析3.3源程序代码#include struct dataint number;void main()inti,j,t,sum20=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;struct data a1120;for(i=1;i=10;i+)for(j=1;j=20;j+)printf(请%d号评委给%d号选手打分:n,i,j);scanf(%d,&aij.number); for(j=1;j=20;j+) for(i=1;iaij+1.number)t=aij.number;aij.number=aij+1.number;aij+1.number=t; for(j=1;j=20;j+) for(i=2;i10;i+)sumj+=aij.number; for(j=1;j20;j+)a11j.number=sumj/8;printf(最后得分为:n);for(j=1;j=20;j+)printf(%d号选手得分为%.2dn,j,a11j.number);3.4运行结果心得体会 温馨提示:最好仔细阅读后才下载使用,万分感谢!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!