读入N名学生的成绩,将获得某一特定成绩的学生的人数输出。
格式:
学生个数N
N名学生的成绩,用空格隔开
查询的分数
成绩为0-100
#include<stdio.h>
int main()
{
int n;
while (scanf("%d", &n) != EOF && n != 0)
{
int buff[101] = { 0 };
for (int i = 0; i < n; i++)
{
int s;
scanf("%d", &s);
buff[s]++;
}
int s;
scanf("%d", &s);
printf("%d", buff[s]);
}
return 0;
}
这个就是并非使用数组存储每个学生的成绩,而是进行这样的统计。另外一些特殊的排序算法中即使nlogn也会超出所要求的时间,所以也可以用这种类似的方法统计然后输出,这样虽然空间消耗大,但是时间消耗为n。