int k,i,j,n,m,max,min,sum,t;//定义需要的变量 /选手成绩计算 for(i=1;i<n;i++) { max=min=f[i][1];//假定最大值与最小值都是该选手的第一个得分 for(j=1;j<=m;j++) { sum=sum+f[i][j];//计算总分 if(max<f[i][j]) {max=f[i][j];} if(min>f[i][j]) {min=f[i][j];}//找出最大最小值 if(j==m) sf[i]=((sum-max-min)/(m-2));//得到选手的最终得分 } } //选手成绩计算结束 //开始计算选手排名 int list[n]//用于排名 for(i=1;i<=n;i++) { list[i]=sf[i]; } for(k=n-1,j=1;j<=n;j++)//用冒泡排序法得到一份从大到小的成绩单 { for(i=1;i<=k;i++) { if(list[i]<=list[i+1]) {t=list[i]; list[i]=list[i+1]; list[i+1]=t; } k--; } } /排序完毕,开始输出排名 for(j=1,i=1;i<=n;i++) { while(list[i]!=sf[j])一直进行比较,直到第j名选手的成绩跟第i名的成绩相同时才会跳出循环,停止比较 {j++;} printf("the player%d is the %d",j,i);//输出排名 } /排名输出完毕 开始计算评委成绩 for(i=0;i<=m;i++) { for(j=0;j<=n;j++) { pf[i]=pf[i]+(f[j][i]-sf[j]);评委成绩=累计评委成绩+(评委给第j名选手的得分-第j名选手的实际的分) } } //结束
zww
最新推荐文章于 2024-10-10 14:59:08 发布