D - 统计同成绩学生人数

点击打开链接


读入N名学生的成绩,将获得某一给定分数的学生人数输出。 
Input
测试输入包含若干测试用例,每个测试用例的格式为 


第1行:N 
第2行:N名学生的成绩,相邻两数字用一个空格间隔。 
第3行:给定分数 

当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。 
Output
对每个测试用例,将获得给定分数的学生人数输出。 
Sample Input
3
80 60 90
60
2
85 66
0
5
60 75 90 55 75
75
0
Sample Output
1
0
2


        
  
Huge input, scanf is recommended.



#include<stdio.h>
#include<string.h>
int main()
{
int a[1000];
int i;
do //实现输入数据为0结束 
{ //while(scanf("%d",&i)!=EOF&&n)
scanf("%d",&i);
for(int n=1;n<=i;n++)
{
scanf("%d",&a[n]);
}
int m;
scanf("%d",&m);
int p=0; //p的位置 
for(int k=1;k<=i;k++)
{
if(a[k]==m)
p++;
 } 
 printf("%d\n",p);
}while(i!=0);
 
return 0;
} //为什么oj上这种判断是错误的


大牛的答案


#include<stdio.h>
int score[1005];
int grade;
int main(){
    int n;
    while(scanf("%d",&n) && n){
        int i;
        for(i=0;i<n;i++)
            scanf("%d",&score[i]);
        scanf("%d",&grade);
        int cnt=0;
        for(i=0;i<n;i++)
            if(grade==score[i])
                cnt++;
        printf("%d\n",cnt);
    }
    return 0;
}


有空要看看有什么不同偷笑







posted @ 2017-07-23 20:45  Veritas_des_Liberty  阅读(336)  评论(0编辑  收藏  举报