如何计算C中的总ABCDE

我正在尝试制作一个C程序,可以读取学生的分数,直到用户输入文件末尾(EOF)并确定他们的分数是a、B、C、D还是E。我在计算a、B、C、D和E的总数时遇到了麻烦。总数始终为0(零)

这就是我尝试过的

#包括<标准h>
int main()
{
整数、分数、计数器、总数、分数;
int aCount=0,bCount=0,cCount=0,
dCount=0,ecoount=0;
总数=0;
计数器=1;
printf(“输入学生人数:”);
scanf(“d”和“num”stu);
while(计数器<=num_stu){
printf(“输入学生分数”);
scanf(“d”分数);
如果(分数>=80)
printf(“学生成绩为A”\n“;
其他的
如果(分数>=70)
printf(“学生成绩为B\n”);
其他的
如果(分数>=60)
printf(“学生成绩为C\n”);
其他的
如果(分数>=50)
printf(“学生成绩为D\n”);
其他的
printf(“学生成绩为E\n”);
计数器=计数器+1;
}
而((grade=getchar())!=EOF){
道岔(坡度){
案例“A”:案例“A”:
++A账户;
打破
案例“B”:案例“B”:
++b计数;
打破
案例C:案例C:
+会计科目;
打破
案例“D”:案例“D”:
++数据计数;
打破
案例“E”:案例“E”:
++电子计数;
打破
案例“\n”:案例“”:
打破
违约:
printf(“输入的字母等级不正确”);
printf(“输入新等级。\n”);
打破
}
}
printf(“\n每个字母等级的总计为:\n”);
printf(“A:%d\n”,aCount);
printf(“B:%d\n”,B计数);
printf(“C:%d\n”科目);
printf(“D:%D\n”,dCount);
printf(“E:%d\n”,ecoount);
返回0;}

有什么是我做错的吗?提前谢谢

每次按enter键时,您都需要清除'\n'。所以为了摆脱这些
一个getchar()

#包括<标准h>
int main()
{
整数、分数、计数器、总数、分数;
int aCount=0,bCount=0,cCount=0,
dCount=0,ecoount=0;
总数=0;
计数器=1;
printf(“输入学生人数:”);
scanf(“d”和“num”stu);
while(计数器<=num_stu){
printf(“输入学生分数”);
scanf(“d”分数);
如果(分数>=80)
printf(“学生成绩为A”\n“;
其他的
如果(分数>=70)
printf(“学生成绩为B\n”);
其他的
如果(分数>=60)
printf(“学生成绩为C\n”);
其他的
如果(分数>=50)
printf(“学生成绩为D\n”);
其他的
printf(“学生成绩为E\n”);
计数器=计数器+1;
}
getchar();
而((grade=getchar())!=EOF){
getchar();
道岔(坡度){
案例“A”:案例“A”:
++A账户;
打破
案例“B”:案例“B”:
++b计数;
打破
案例C:案例C:
+会计科目;
打破
案例“D”:案例“D”:
++数据计数;
打破
案例“E”:案例“E”:
++电子计数;
打破
案例“\n”:案例“”:
打破
违约:
printf(“输入的字母等级不正确”);
printf(“输入新等级。\n”);
打破
}
}
printf(“每个字母等级的总计为:\n”);
printf(“A:%d\n”,aCount);
printf(“B:%d\n”,B计数);
printf(“C:%d\n”科目);
printf(“D:%D\n”,dCount);
printf(“E:%d\n”,ecoount);
返回0;
}   

发表评论