学分统计问题遇到的问题

请大家帮忙看看代码哪有错误

img


```c

#include<stdio.h>
int main(){
    int count,n,id,socer;
    char a[10],b[13];
    scanf("%d",&n);
    for(n;n>0;n--){
        getchar();
        scanf("%s %s %d",b,a,&socer);
        if(socer>=85){
            printf("%s %s A\n",b,a);
        }else if(socer>=70){
            printf("%s %s B\n",b,a);
        }else if(socer>=60){
            printf("%s %s C\n",b,a);
        }else{
            printf("%s %s D\n",b,a);
            count++;
        }
    }
    printf("%d",count);
    
    return 0;
}

```

getchar();
修改为 fflush(stdin); 看看
另外你的代码有两个不好的地方
一个是字符串长度分配太抠搜,弄个13,万一多输入一个就越界了
一个是变量名,用score,不是socer(足球?)

count 没有初始化,修改如下,供参考:

#include<stdio.h>
int main(){
    int count = 0,n,id,socer; // count 没有初始化 修改
    char a[10],b[13];
    scanf("%d",&n);
    for(n;n > 0;n--){
        //getchar();   //这句多余
        scanf("%s %s %d",b,a,&socer);
        if(socer>=85){
            printf("%s %s A\n",b,a);
        }else if(socer>=70){
            printf("%s %s B\n",b,a);
        }else if(socer>=60){
            printf("%s %s C\n",b,a);
        }else{
            printf("%s %s D\n",b,a);
            count++;
        }
    }
    printf("%d",count);
    return 0;
}