C语言课程设计大赛评分万年历.docx
- 文档编号:15689122
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:14
- 大小:75.99KB
C语言课程设计大赛评分万年历.docx
《C语言课程设计大赛评分万年历.docx》由会员分享,可在线阅读,更多相关《C语言课程设计大赛评分万年历.docx(14页珍藏版)》请在冰点文库上搜索。
C语言课程设计大赛评分万年历
课程设计报告
课程设计名称:
C语言
系:
三系
学生姓名:
班级:
学号:
成绩:
指导教师:
开课时间:
学年二学期
一.设计题目
1、大赛评分
2、万年历
二.主要内容
1、某大赛有n(n>=5)个选手参赛,m(m>=4)个评委依次为参赛的选手评判打分;最高10分,最低0分。
统分规则为:
每个选手所得的m个评分中,去掉一个最高分,去掉一个最低分,然后平均该选手的最后得分。
根据n个选手的最后得分从高到低排出名次表,以便确定获奖名单。
2、日常生活中离不开年历。
编写程序要求当用户输入年份时能输出该年的日历,在日历上能够看出某天是星期几,可以显示任意一年任意一天,并能够知道是否是闰年等。
(以1980年1月1日星期二为基准)
三.具体要求
1、程序均应已单文件多函数的结构实现,不得使用单文件单函数的结构;
2、程序的输入要有必要的提示信息,帮助用户输入;
3、程序输出结果格式要清晰、易懂;
4、如有时间可以菜单形式呈现程序功能,供用户选择;
5、不可更改课程设计报告中已有的字体和格式;
6、课程设计报告中新加入的内容,汉字采用宋体五号字,英文字符和数字采用TimesNewRoman五号字;
7、课程设计报告中的运行结果应以程序运行截图形式出现。
四.进度安排
序号
内容
时间(天)
1
熟悉课题、分析课题
1
2
对系统进行模块分解
2.5
3
编程调试
3.5
4
测试和差错
2
5
书写课程设计报告
1
合计
10
五.成绩评定
六.设计思路
1、大赛评分:
A、建立一个五人的结构体变量;
B、在主函数中,先进行函数的声明、定义结构体变量用于交换时的临时
变量、定义指向结构体变量的指针;再调用input函数并输入选手的
选号、姓名、各个评委所打的分;最后用for的循环先算各个选手的
平均分、再将各位选手的平均分进行排名(用到结构体的临时变量进
行交换)。
C、最后输出选手的选号、姓名、排名和最终成绩。
2、万年历:
A、定义一些全局变量;
B、在主函数中,先进行三个函数的声明(stand1,stand3,stand4)、,然后输入想要知道的年份,判断概念是否为闰年,算出该年1月1日距离1980年1月1日的天数再除以7,得到的余数再按要求进行算法的运算,其中要正确进行分支(即:
分为余数为0至4、5、6),在各个分支中调用stand1、stand3、stand4函数,最后输出;
C、进行调试以便程序趋于完美。
七.源程序及运行结果
1、大赛评分:
#include
#defineN5
structStudent
{intnum;
charname[20];
floatscore[6];
floataver;
};
intmain()
{voidinput(structStudentstu[]);
floatl;
intm,n,x,y,k;
structStudenttemp;
structStudentstu[N],*p=stu;
input(p);
for(m=0;m<5;m++)
{for(n=0;n<5;n++)
if(stu[m].score[n] stu[m].aver=(stu[m].score[1]+stu[m].score[2]+stu[m].score[3]+stu[m].score[4])/4; } for(x=0;x<4;x++) {k=x; for(y=x+1;y<4;y++) if(stu[x].aver } printf("\n输出各位选手的排名情况: \n"); y=0; for(x=0;x<5;x++) printf("排名: %d选号: %d姓名: %s得分: %f\n",++y,stu[x].num,stu[x].name,stu[x].aver); printf("\n"); return0; } voidinput(structStudentstu[]) {inti,j,h=1; for(i=0;i<5;i++) {printf("请输入%d号选手的信息: 选号、姓名、六个评分: \n",h++); scanf("%d%s\n%f%f%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3], &stu[i].score[4],&stu[i].score[5]); for(j=0;j<6;j++) if(stu[i].score[j]<0||stu[i].score[j]<10)break; printf("\n"); } } 截图: 2、万年历: #include inti,x,l,y,k; intz=1; intmain() {voidst1(intp,intq,charl[10]); voidst3(ints); voidst4(intg,charh[10]); inta,b,c,d,e,f1,f2,f3; charn[20]={'','','','','','','','','','','','','','',''}; scanf("%d",&a); if((a%4==0&&a%100! =0)||a%400==0) {intm[12]={31,29,31,30,31,30,31,31,30,31,30,31}; printf("该年为闰年\n"); if(a>=1980){b=a-1980;c=b%4;d=b/4;e=b/100; {if(c>0)f1=(c+d*3)*365+(d)*366-e+1; elsef1=(c+d*3)*365+(d)*366-e;} f2=(f1%7);f3=(f2+2)%7; for(i=0;i<12;i++) {printf("%d: ",z++); printf("\n"); if(f3-2>=0){st1(m[i],f3,n);} elseif(f3-2==(-1)){st3(m[i]);} elseif(f3-2==(-2)){st4(m[i],n);} f1=f1+m[i]; f2=(f1%7); f3=(f2+2)%7; } } if(a<1980){b=1980-a;c=b%4;d=b/4;e=(b+20)/100; {if(c>0)f1=(c+d*3)*365+(d)*366-e; elsef1=(c+d*3)*365+(d)*366-e+1;} f2=(f1%7);f3=(f2+2)%7; for(i=0;i<12;i++) {printf("%d: ",z++); printf("\n"); if(f3==1){f3=f3+2;st1(m[i],f3,n);} elseif(f3==0){f3=f3+4;st1(m[i],f3,n);} elseif(f3-2==4){f3=f3-1;st1(m[i],f3,n);} elseif(f3-2==3){f3=f3+1;st1(m[i],f3,n);} elseif(f3-2==2){f3=f3+3;st1(m[i],f3,n);} elseif(f3-2==1){st3(m[i]);} elseif(f3-2==0){st1(m[i],f3,n);} f1=f1-m[i]; f2=(f1%7); f3=(f2+2)%7; } } } else {intm[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf("该年为平年\n"); if(a>=1980){b=a-1980;c=b%4;d=b/4;e=b/100; {if(c>0)f1=(c+d*3)*365+(d)*366-e+1; elsef1=(c+d*3)*365+(d)*366-e;} f2=(f1%7);f3=(f2+2)%7; for(i=0;i<12;i++) {printf("%d: ",z++); printf("\n"); if(f3-2>=0){st1(m[i],f3,n);} elseif(f3-2==(-1)){st3(m[i]);} elseif(f3-2==(-2)){st4(m[i],n);} f1=f1+m[i]; f2=(f1%7); f3=(f2+2)%7; } } if(a<1980){b=1980-a;c=b%4;d=b/4;e=(b+20)/100; {if(c>0)f1=(c+d*3)*365+(d)*366-e; elsef1=(c+d*3)*365+(d)*366-e+1;} f2=(f1%7);f3=(f2+2)%7; for(i=0;i<12;i++) {printf("%d: ",z++); printf("\n"); if(f3==1){f3=f3+2;st1(m[i],f3,n);} elseif(f3==0){f3=f3+4;st1(m[i],f3,n);} elseif(f3-2==4){f3=f3-1;st1(m[i],f3,n);} elseif(f3-2==3){f3=f3+1;st1(m[i],f3,n);} elseif(f3-2==2){f3=f3+3;st1(m[i],f3,n);} elseif(f3-2==1){st3(m[i]);} elseif(f3-2==0){st1(m[i],f3,n);} f1=f1-m[i]; f2=(f1%7); f3=(f2+2)%7; } } } return0; } voidst1(intp,intq,charz[20]) { printf("一二三四五六日"); printf("\n"); for(x=0;x<=q-2;x++) printf("%c",z[x]); for(k=1;k<(9-q);k++) printf("%d",k); printf("\n"); for(l=0;l<6;l++) {for(y=0;y<7;y++) if(k<=p&&k<10)printf("%d",k++); elseif(k>=10&&k<=p)printf("%d",k++); elsebreak; printf("\n"); } } voidst3(ints) {printf("一二三四五六日"); printf("\n"); k=1; for(l=0;l<6;l++) {for(y=0;y<7;y++) if(k<=s&&k<10)printf("%d",k++); elseif(k>=10&&k<=s)printf("%d",k++); elsebreak; printf("\n"); } } voidst4(intg,charh[20]) { printf("一二三四五六日"); printf("\n"); for(x=0;x<6;x++) printf("%c",h[x]); for(k=1;k<2;k++) printf("%d",k); printf("\n"); for(l=0;l<6;l++) {for(y=0;y<7;y++) if(k<=g&&k<10)printf("%d",k++); elseif(k>=10&&k<=g)printf("%d",k++); elsebreak; printf("\n"); } } 截图: 1、小于1980年 2、大于1980年 八.设计体会 正文: 通过两个星期的努力,终于把课程设计给完成了,这是一个坚苦而又漫长的过程,同时我也明白了,自己还有很多要学的地方。 平时扎实的基础是关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。 为了解决此类问题,最好就是多向同学,老师请教,不要怕难为情。 尤其是老师,凭他们多年的编写程序的经验,要解决我们的问题,对他们来说只是smallcas。 所以,我觉得应该多向老师、同学请教,而且这样可以节约更多的时间。 总之,要学会请教别人,更要靠自己。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 大赛 评分 万年历
![提示](https://static.bingdoc.com/images/bang_tan.gif)