HDU--统计同成绩学生人数
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
Input测试输入包含若干测试用例,每个测试用例的格式为
第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数
当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
对每个测试用例,将获得给定分数的学生人数输出。
3
80 60 90
60
2
85 66
0
5
60 75 90 55 75
75
0
1
0
2
Huge input, scanf is recommended.
Hint
解题思路:利用了循环,数组输出,通过比较学生的分数与所输入的查询分数是否相等,让数组中的变量发生改变。
#include<stdio.h>
int main()
{
int i, n, a, k=0;//n为个数,a为要查询的分数
int f[1000], m[1000] = { 0 };//m[1000]用来存放输出的相同成绩学生的人数
scanf("%d", &n);
while (n != 0)
{
for (int j = 0; j<n; j++)
scanf("%d", &f[j]);
scanf("%d", &a);
for (i = 0; i<n; i++)
{
if (a == f[i]) m[k]++;
}
scanf("%d", &n);
k++;
}
for (int i = 0; i < k; i++)
{
printf("%d\n",m[i]);//输出
}
return 0;
}