7-2 歌唱比赛计分 (15分)
设有10名歌手(编号为1-10)参加歌咏比赛,另有6名评委打分,每位歌手的得分从键盘输入,计算出每位歌手的最终得分(扣除一个最高分和一个最低分后的平均分),最后按最终得分由高到低的顺序输出每位歌手的编号及最终得分 输入格式: 依次输入第1个歌手的6位评委打分(10分制,分数为整型,分数之间使用空格分隔),第2个歌手的6位评委打分…以此类推。 输出格式: 参照输出示例,按最终得分由高到低的顺序输出每位歌手的编号及最终得分(最终得分保留2位小数)。 输入样例: 1 4 7 3 6 3 8 7 8 5 9 8 7 5 6 8 5 4 7 6 7 5 6 5 3 5 6 7 5 5 7 7 7 8 9 6 7 7 6 7 6 8 9 4 3 7 3 6 4 8 6 7 5 8 8 7 8 8 9 8 输出样例: No.10: 8.00 No.2 : 7.75 No.6 : 7.25 No.7 : 6.75 No.9 : 6.50 No.4 : 6.00 No.3 : 5.75 No.5 : 5.25 No.8 : 5.00 No.1 : 4.00
代码实现:
代码语言:javascript复制#include <stdio.h>
int main()
{
int a[11][7], c[11];
float b[11];
for (int i=0;i<10;i ){
for (int j=0;j<6;j ){
scanf("%d", &a[i][j]);
}
}
int k;
for (int i=0;i<10;i ){
for (int j=0;j<6;j ){
for (int x=j 1;x<6;x ){
if (a[i][j]>a[i][x]){
k=a[i][j];
a[i][j]=a[i][x];
a[i][x]=k;
}
}
}
b[i]=(int)(((float)(a[i][1] a[i][2] a[i][3] a[i][4])/(float)4)*100)/100.0;
c[i]=i 1;
}
float z;
int s;
for (int i=0;i<10;i ){
for (int j=i 1;j<10;j ){
if (b[i]<b[j]){
z=b[i];
b[i]=b[j];
b[j]=z;
s=c[i];
c[i]=c[j];
c[j]=s;
}
}
if (c[i]==10){
printf("No.%d: %.2fn", c[i], b[i]);
}
else {
printf("No.%d : %.2fn", c[i], b[i]);
}
}
return 0;
}