```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却有结果```
b是char类型。case中的值,加上单引号。
switch (b)
{ case '0':
printf("平均数为:%d",sum/10);break;
case '1':
printf("及格率为:%.2f%%",n/10.0*100);break;
}