|
发表于 2022-11-22 12:52:11
|
显示全部楼层
本帖最后由 jackz007 于 2022-11-22 12:56 编辑
- grade = getchar() ; // 一方面,grade 是循环变量,在开始循环前,需要进行初始化,以便可以跨过 while 的条件门槛,顺利进入循环,另一方面,也确实需要输入成绩信息。
- while(grade != '#')
- {
- switch(grade)
- {
- . . . . . .
- }
- grade = getchar() ; // 一方面,grade 是循环变量,需要在每一次的循环中被改变,否则,就会成为死循环,另一方面,这个 getchar() 也是为了满足统计新的成绩需要。
复制代码
你的代码存在错误,下面是修改过的代码:
- #include <stdio.h>
- int main(void)
- {
- int aCount = 0,bCount = 0,cCount = 0,dCount = 0,eCount = 0;
- char grade;
- printf("请输入成绩通过# :\n") ;
- grade = getchar() ;
- while(grade != '#')
- {
- switch(grade)
- {
- case'A':
- case'a': printf("90--100\n");
- aCount++;
- break;
- case'B':
- case'b': printf("80--90\n") ;
- bCount++ ; //【错误】:这里使用了 aCount
- break;
- case'C':
- case'c': printf("70--80\n") ;
- cCount++ ; //【错误】:这里使用了 aCount
- break;
- case'D':
- case'd': printf("60--70\n") ;
- dCount++ ; //【错误】:这里使用了 aCount
- break ;
- case'E':
- case'e': printf("<60\n") ;
- eCount++ ; //【错误】:这里使用了 aCount
- break ;
- default: printf("错误!请再输入一次。\n") ;
- }
- grade = getchar() ;
- }
- printf("结果: A:%d, B:%d, C:%d, D:%d, E:%d\n",aCount,bCount,cCount,dCount,eCount);
- }
复制代码 |
|