题目描述
电视台举办演技大赛,每一场比赛评委都对演员进行评级,获得S级的演员直接晋级到下一场比赛,其它级别则需要继续本场比拼。规定得分大于等于90的评为S级,80-89的评为A级,70-79的评为B级,70分以下的评为C级,请你帮助主办方自动生成等级,并统计直接晋级人数。
输入格式:
输入第一行为一个正整数n(n<=10),代表参加比赛的演员人数,随后n行,每行为一个表演者信息,包括编号(长度为3不带空格的数字串)、姓名(长度不超过20的不带空格的一串字符)、得分(大于0且小于等于100的整数)。
输出格式:
按照输入顺序输出所有参赛演员的最终等级信息,一个参赛演员信息占一行,包括编号、姓名、等级,中间用一个空格分隔,随后一行输出直接晋级人数。
输入样例:
2
000 li 90
010 zhang 80
输出样例:
000 li S
010 zhang A
1
参考答案
#include <stdio.h>
int main() {
int n;
scanf("%d", &n); // 输入演员人数
int upgraded_count = 0; // 直接晋级的演员数量
char id[4], name[21];
int score;
for (int i = 0; i < n; i++) {
scanf("%s %s %d", id, name, &score); // 输入演员编号、姓名和得分
// 输出编号、姓名以及等级
if (score >= 90) {
printf("%s %s S\n", id, name);
upgraded_count++; // 晋级人数增加
} else if (score >= 80) {
printf("%s %s A\n", id, name);
} else if (score >= 70) {
printf("%s %s B\n", id, name);
} else {
printf("%s %s C\n", id, name);
}
}
// 输出晋级人数
printf("%d\n", upgraded_count);
return 0;
}