您的位置:首页 > 编程语言 > C语言/C++

C语言:读入N名学生的成绩,将获得某一给定分数的学生人数输出

2018-02-19 22:27 1496 查看
输入:
         测试输入包含若干测试用例,每个测试用例的格式为
         第一行:N
         第二行:N名学生的成绩,相邻两数字用一个空格间隔
         第三行:给定分数
         当读到N=0时输入结束。其中N不超过1000,成绩分数(包含)0到100之间的一个整数。
输出:
         对每个测试用例,将获得给定分数的学生人数输出。
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=0){
int Hash[101]={0};            //建立一个初始为0的Hash数组用来记录各种分数出现的次数
for(int i=0;i<n;i++){
int x;
scanf("%d",&x);
Hash[x]++;
}
int x;
scanf("%d",&x);
printf("%d\n",Hash[x]);
}
return 0;
}
       在开始具体解题之前,我们要注意到这类问题存在的一个共同特点:输入的分数种类是有限的。在此例中,输入的分数不仅严格在0到100的区间之内,同时它又一定是一个整数。这样输入的数据一共只有101种可能,我们只要为这101种可能分别计数,便能在输入结束时便得知每一种分数的重复情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐