7-2 歌唱比赛计分 (15分)

2023-11-30 18:31:31 浏览数 (2)

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;
}

0 人点赞