《C语言》课程设计报告.docx
- 文档编号:7183072
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:10
- 大小:99.28KB
《C语言》课程设计报告.docx
《《C语言》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《C语言》课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。
《C语言》课程设计报告
《C语言》课程设计报告
系科:
班级:
学号:
姓名:
指导教师:
石鲁生
2009年6月
一、题目
题目一:
大赛评分
某大赛有n(n>=5)个选手参赛,m(m>=4)个评委依次为参赛的选手评判打分;最高10分,最低0分。
统分规则为:
每个选手所得的m个评分中,去掉一个最高分,去掉一个最低分,然后平均该选手的最后得分。
根据n个选手的最后得分从高到低排出名次表,以便确定获奖名单。
题目二:
万年历
日常生活中离不开年历。
编写程序要求当用户输入年份时能输出该年的日历,在日历上能够看出某天是星期几,可以显示任意一年任意一天,并能够知道是否是闰年等。
二、设计思路
大赛评分:
此程序分为给各选手评分,打分和给各位选手的最后得分进行排序两个部分。
首先第一部分先输入评委和选手的得分,先利用for循环求出各选手的总分,然后利用判断函数去掉一个最高分和一个最低分得出最后选手的平均分,接着第二部分利用冒泡法排除各选手的名次,最后结束此次大赛。
万年历:
此程序具有输入一个年份,可以知道整年的日历,并能知道此年是否为闰年的功能。
年历的输出要确定当年第一天为星期几,所以将之前所有年的天数加起来,然后除以七取余,就可以得到。
由于求之前所以年份的累加和,需要判断每一年是否为闰年。
就要设计求闰年的代码。
调用函数将之前所以年份的累加,用和来判断每一年是否为闰年。
定义一个二维数组来存放每一个月的月历。
先将其全部赋值为零,然后用循环结构将天数存入。
输出月历时,将为零的输出空格。
这样年历就设计完成了。
三、设计代码及运行结果
大赛评分:
#include
#include
voidmain()
{
inti,j,n,m,c,a[100];
floatmax,min,t,b[100],f[100][20];
printf("请输入选手的个数(1<=n<=100):
");
scanf("%d",&n);
printf("请输入评委的个数(4<=m<=20):
");
scanf("%d",&m);
printf("\n请各位评委在0到10之间打分");
for(i=1;i<=n;i++)
{
printf("\n第%d个出场选手得分:
\n\n",i);
b[i]=0;max=0;min=210;
for(j=1;j<=m;j++)
{
printf("第%d个评委的评分为:
",j);
scanf("%f",&f[i][j]);
while(f[i][j]<0||f[i][j]>10)
{printf("第%d个评委输入的数据错误,请重新输入:
\n",j);
scanf("%f",&f[i][j]);}
b[i]+=f[i][j];
if(max if(min>f[i][j])min=f[i][j]; } printf("\n去掉一个最高分: %.2f",max); printf("\n去掉一个最低分: %.2f",min); b[i]=(b[i]-max-min)/(m-2); printf("\n编号为%d号选手",i); printf("最后得分为: %.2f\n",b[i]); } for(j=1;j<=m;j++) a[j]=j; for(i=1;i<=m;i++) for(j=1;j<=n;j++) if(b[j] { t=b[j];b[j]=b[j+1];b[j+1]=t; c=a[j];a[j]=a[j+1];a[j+1]=c; } printf("\n参赛选手得分名次表: "); printf("\n选手编号得分名次"); for(i=1,j=1;i<=n ;i++,j++) printf("\n%d%.2f%d",a[j],b[i],i); printf("\n"); printf("\n\n大赛评分结束,谢谢! \n"); } 万年历: #include voidmain() { longintt(int); intd(intyear); inti,j,day,year,m,n,l, a[13],b[6][7]; inta1[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; inta2[]={0,31,29,31,30,31,30,31,31,30,31,30,31}; longintc; printf("请输入年份: "); if(d(year)) { for(i=1;i<=12;i++) a[i]=a2[i]; } else { for(i=1;i<=12;i++) a[i]=a1[i]; } scanf("%d",&year); c=t(year); for(m=1;m<=12;m++) { for(i=0;i<6;i++) for(j=0;j<7;j++) b[i][j]=0; switch(m) { case1: printf("\t一月%d\n",year);break; case2: printf("\t二月%d\n",year);break; case3: printf("\t三月%d\n",year);break; case4: printf("\t四月%d\n",year);break; case5: printf("\t五月%d\n",year);break; case6: printf("\t六月%d\n",year);break; case7: printf("\t七月%d\n",year);break; case8: printf("\t八月%d\n",year);break; case9: printf("\t九月%d\n",year);break; case10: printf("\t十月%d\n",year);break; case11: printf("\t十一月%d\n",year);break; case12: printf("\t十二月%d\n",year);break; } printf("日一二三四五六\n"); i=j=0; for(n=0;n<(c%7);n++) b[0][j++]=0; day=1; while(day<=a[m]) { if(j%7==0) j=0,i++; b[i][j++]=day; c++;day++; } for(i=0;i<6;i++) { for(j=0;j<7;j++) {if(b[i][j]! =0) printf("%.2d",b[i][j]); else printf(""); } printf("\n"); } } l=d(year); if(i==1) printf("闰年\n"); else printf("非闰年\n"); } intd(intyear) { if((year%4==0)&&(year%100! =0)||(year%400==0)) return1; else return0; } longintt(intyear) { ints=1,w=0; while(s { if(d(s)) w++; s++; } return366*w+365*(year-w); } 四、设计体会 在这次课程设计过程中遇到了很多问题,发现很多知识都没有掌握好,这时我通过上网查询和向别人请教来解决一系列的问题,从而完成了这两个程序。 通过这次课程设计我知道了学习c语言的极大用处,并知道了基础是非常重要的,我们应从一开始就学好C语言,这样就会更好的编出程序来。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 语言 课程设计 报告