《C语言课程设计报告.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计报告.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.C C 语言课程设计语言课程设计学学部部:机械与电子信息学部机械与电子信息学部专专业:业:地理信息科学地理信息科学班班级:级:21001301 21001301学学号:号:2100130135 2100130135姓姓名:名:黄品华黄品华指导老师:指导老师:刘刘艳艳20142014 年年 6 6 月月.文档资料的统一要求:文档资料的统一要求:1、文档中的正文字体用五号宋体。2、C+源文件要求以学号或姓名命名。3、每个问题均要有算法分析,源程序代码,运行结果示图。4、在课程设计最后要有心得体会,描述在设计过程中遇到的困难,和解决的方法。5、没有按要求做的同学则视为本课程设计不合格。6、每次上机
2、所做的内容用移动磁盘带走。7、此页内容删除后用来生成目录。.第第 1 1 章章循环循环函数函数文件文件1.11.1 设计任务设计任务1.A、B、C、D、E 五人在某天夜里合伙捕鱼,到第二天凌晨都疲惫不堪,于是各自睡觉。日上三竿,A 第一个醒来,他将鱼分成了 5 份,把多余的 1 条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分成了5 份,把多余的1 条鱼扔掉,拿走自己的一份。C、D、E 依次醒来按同样的方法拿鱼。问他们合伙至少补了多少条鱼?2.给出年,月,日,计算该日是该年的第几天。(要求编写函数)3.验证歌德巴赫猜想:任意一个大于6 的偶数均可表示为两个质数的和。(要求编写函数)4.建立一个
3、文件,用来存放自然数 120 及其平方根,然后输入 120 之内的任意一个自然数,查找出其平方根显示在屏幕上(求平方根时可使用math.h 中的库函数 sqrt)。1.21.2 算法分析算法分析1、要知道他们合伙捕了多少鱼,只需知道 A 醒来时看到多少条鱼,所以要知道 B 醒来时看到多少条鱼所以需知道 E 醒来时看到多少条鱼。而题意是他们至少捕获多少条鱼,所以 E 醒来时一定是 6 条鱼,而前一个醒来时的鱼是后一个醒来时的 5 倍还多一条。所以起始是 6 条鱼。2、先根据年号判断是不是闰年,if(y%4=0&y%100!=0)如果这个式子为真就是闰年,然后再根据月份来算里面有几个大月,几个小月
4、,把所有“满月”的日子算出来了,最后再把“年,月,日”里的“日”给加上去就好了,就把所有的都求出来了。3、1.31.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!=
5、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
6、;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#includeclass fileint 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,
7、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.
8、close();1.41.4 运行结果运行结果1、.2、3、4、.第第 2 2 章章小学生算术运算测评系统小学生算术运算测评系统2.12.1 设计任务设计任务小学生算术运算测试系统能自动生成加法、减法、乘法和除法的算数表达式,并且通过学生输入的答案判断结果是否正确,然后给出提示。在用户选择结束程序时,可以统计共答了多少题,得分是多少。2.22.2 算法分析算法分析对于这样的多元素编程,使用结构体来实现会好些。2.32.3 源程序代码源程序代码#include#include#includestruct data int num1;char ch;int num2;int num3;void m
9、ain()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
10、 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
11、;case/:n=di.num1/di.num2 ;break;if(n=di.num3)s+;fseek(fp,0,2);fprintf(fp,得分:%d,s*10);.2.42.4 运行结果运行结果.第第 3 3 章章比赛评分系统比赛评分系统3.13.1 设计任务设计任务有 20 名参赛选手,有 10 名评委对参赛选手按 10 分制评分。选手的编号从1 开始,顺序编号,按序号参赛。具体要求如下:1.10 位评委能对 20 位选手进行打分,要有给第几号选手打分的提示信息。如:给第1 号选手打分:打完后接着有提示给第2 号选手打分:依此类推,直到20 位选手打分完毕。2.10 位评委对每位选手
12、的打分能按照从低分到高分的排序。3.去掉 10 位评委打分的一个最低分、一个最高分后求出每位选手的平均得分。4.对每位选手的平均分按从高到低的顺序进行排序。排序时要求选手编号与其得分一起进行。5.按参赛选手编号顺序输出选手编号及其对应成绩;按选手编号、选手得分输出参赛选手的一、二、三等奖。3.23.2 算法分析算法分析3.33.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;
13、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.43.4 运行结果运行结果.心得体会心得体会.