c语言课程设计报告

2.运用C语言开发一个“比赛评分系统”。评委打分原则:满分10分,评委打分后,去掉一个最高分和一个最低分,最后的平均分为参赛选手的最后得分(精确到小数点后两位)。要求该系统实现以下功能:

① 假设参赛人数为20人,评委为10人。(有兴趣的同学可拓展为参赛人数为n人,评委为m人)。并对参赛选手和评委分别编号,序号从1开始,顺序编号。

② 选手按编号顺序依次参加比赛,统计最后得分。

③ 比赛结束,按从高分到低分每行5人依次打印选手的得分情况。 ④ 公布选手获奖。取一等奖1名,二等奖2名,三等奖3名。

【算法分析】(用文字或流程图进行描述)

使用for循环嵌套输出每位选手的评分,然后用冒泡排序法排序,然后输出得奖人。

【源程序代码】 #include<> #include<> void main()

{ int max(float b[]); int min(float b[]); int i1,k1,j1,t,t1,b1; float tt; int ii, jj; int flag = 1; int k,m,i,b,j; float sum=0; float a[10],c[20];

printf(\评分系统\\n\

printf(\

for(b=0;b<20;b++) {

printf(\号选手:\\n\

for(i=0;i<=9;i++) {

printf(\号评委的评分是:\ scanf(\

sum+=a[i]; }

for(j=0;j<10;j++) {

c[j]=sum/10; }

printf(\ k=max(a); m=min(a);

printf(\

printf(\ printf(\最高分是:%g 最低分是:%g\\n\\n\

printf(\删除最高分最低分之后的总分是: %g\\n\\n\ printf(\这位选手的平均分是:%g\\n\\n\

c[b] = (sum-a[k]-a[m])/10;

sum = 0;

printf(\ }

for(b1=0;b1<20;b1++) {

printf(\第%d位选手的分数是:%g\\n\ }

for(ii=0;ii<20;ii++) {

for(jj=0;jj<20-ii-1;jj++) {

if(a[jj]>a[jj+1]) //如果后面的数字大于前面的数字 {

tt=c[jj];

c[jj]=c[jj+1];

c[jj+1]=tt; //就把两个数交换 } }

printf(\ }

printf(\第一名%g \

printf(\第二名%g \printf(\第三名%g \ }

int max(float b[])//最大值 { int i,k=0;

float max=b[0]; for(i=0;i<10;i++) {

if(max

return k; }

int min(float b[])//最小值 {

int i,m=0;

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4