7-2 歌唱比赛计分

举报
Echo_Wish 发表于 2022/07/12 16:51:51 2022/07/12
【摘要】 7-2 歌唱比赛计分 (15分)设有10名歌手(编号为1-10)参加歌咏比赛,另有6名评委打分,每位歌手的得分从键盘输入,计算出每位歌手的最终得分(扣除一个最高分和一个最低分后的平均分),最后按最终得分由高到低的顺序输出每位歌手的编号及最终得分输入格式:依次输入第1个歌手的6位评委打分(10分制,分数为整型,分数之间使用空格分隔),第2个歌手的6位评委打分…以此类推。输出格式:参照输出示例...

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

代码实现:

#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: %.2f\n", c[i], b[i]);
		}
		else {
			printf("No.%d : %.2f\n", c[i], b[i]);
		}
	}
	return 0;
}

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。