c语言评委评分
# include " stdio . h " const int LEN = 30,M=100,N = 100;typedef结构{ int num//彩票号码char name[LEN];//名称浮动分数;//Score}玩家;玩家玩家[M];//歌手信息int a[M][N];//评委评分信息int m,n;//歌手和评委人数//输入歌手信息和评委评分信息void input(void){ int i,j;Printf("歌手人数:");scanf("%d ",& ampm);Printf("法官人数:");scanf("%d ",& ampn);for(I = 0;我& ltm;i++) { players[i]。num = I+1;Printf("第%d位歌手的名字:",I+1);scanf("%d ",& amp玩家[我]。姓名);Printf("评委对%d歌手的评分:",I+1);for(j = 0;j & ltn;j++) { scanf("%d ",& ampa[I][j]);}}}//Average(去掉一个最高分,去掉一个最低分,求剩下n-2个分的平均值Void Calculate (void) {float max,minint i,j;for(I = 0;我& ltm;i++) { max=min=players[i]。得分= a[I][0];for(j = 1;j & ltn;j++) { players[i]。score+= a[I][j];if(max & lt;a[I][j]){ max = a[I][j];} if(min & gt;a[I][j]){ min = a[I][j];} } if(n & gt;2) {玩家[我]。得分=(球员[我]。score-max-min)/(n-2);} else if(n & gt;0) { players[i]。score/= n;} } }//用冒泡法对每个玩家的分数进行排序//如果用快速排序或者堆排序,重写这一段就可以了。void sort(void){ int i,j;for(I = 0;我& ltm-1;i++){ for(j = m-1;j & gt我;j - ) { if(玩家[j]。得分& gt球员[j-1]。分数){球员tmptmp = players[j];玩家[j]=玩家[j-1];球员[j-1]= tmp;} } } }//显示所有原始数据void show_origin(void){ int i,j;printf(" \ n ");for(I = 0;我& ltm;I++) {printf("彩票号码:%d ",玩家[i]。num);;Printf("名称:%d ",玩家[i]。姓名);Printf("评委评分:");for(j = 0;j & ltn;j++) { printf("%d ",a[I][j]);} printf(" \ n ");} }//显示所有歌手信息void show _ player(void){ int I;printf(" \ n ");for(I = 0;我& ltm;I++) {printf("彩票号码:%d ",玩家[i]。num);Printf("名称:%d ",玩家[i]。姓名);Printf("分数:%f\n ",玩家[i]。分数);} }//显示获奖歌手int main() {input()的信息;show _ origin();计算();show _ player();sort();返回0;}