题目链接:1038 统计同成绩学生 (20 point(s))
题目描述
本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。
输入格式
输入在第 1 行给出不超过 105 的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。
输出格式
在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。
输入样例
10
60 75 90 55 75 99 82 90 75 50
3 75 90 88
输出样例
3 2 0
C代码
/**********************************************************************************
Submit Time Status Score Problem Compiler Run Time User
8/6/2019, 12:46:53 Accepted 20 1038 C (gcc) 44 ms wowpH
**********************************************************************************/
#include<stdio.h>
int main() {
int n, k, score; // 人数,要查询的个数,成绩
scanf("%d", &n);
int number[101] = { 0 }; // 每个分数的人数为0
for (int i = 0; i < n; ++i) {
scanf("%d", &score);
++number[score]; // 分数为score的人数加1
}
scanf("%d", &k);
for (int i = 1; i < k; ++i) {
scanf("%d", &score);
printf("%d ", number[score]); // 输出分数为score的人数
}
scanf("%d", &score);
printf("%d", number[score]); // 最后一个
return 0;
}