fangfei1314 2021-11-14 01:03 采纳率: 77.8%
浏览 52
已结题

C语言switch语句出现错误

```c

#include <stdio.h>
main()
{ int a[10],i,n=0;
char b;
int sum=0;
for(i=0;i<10;i++)
{ printf("请输入第%d个学生的成绩:",i+1);
scanf("%d",&a[i]);
sum=sum+a[i];
if(a[i]>=60)
n++;
}
printf("学生的成绩为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
fflush(stdin);
printf("\n你想要计算什么?\n计算平均数请输入:0\n计算及格率请输入:1\n");
scanf("%d",&b);
switch (b)
{ case 0:
printf("平均数为:%d",sum/10);break;
case 1:
printf("及格率为:%.2f%%",n/10.0*100);break;
}
}

为什么输入0没有结果,而输入1却有结果```

  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-11-14 01:10
    关注

    b是char类型。case中的值,加上单引号。

    switch (b)
    { case '0':
    printf("平均数为:%d",sum/10);break;
    case '1':
    printf("及格率为:%.2f%%",n/10.0*100);break;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 创建了问题 11月14日