zww
来源:互联网 发布:移动app开发需要java 编辑:程序博客网 时间:2024/06/06 12:57
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名选手的实际的分) }}//////////////////结束