D - 统计同成绩学生人数
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
第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.
#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 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;
}
}
有空要看看有什么不同
永远渴望,大智若愚(stay hungry, stay foolish)