1、修改定义的类型为char类型。
char grade;
2、if条件内少了等于的情况(11行)
if('a'<=grade && grade<='z')
3、switch()中的参数为grade
switch(grade)
4、case 后面的都是char类型,要用单引号
case 'A'
其他同理。
代码如下:
#include<stdio.h>
int main(void){
char grade;
scanf("%c",&grade);
if('a'<=grade && grade<='z'){
grade=grade-32;
}
switch(grade){
case 'A':printf("90-100\n");break;
case 'B':printf("80-89\n");break;
case 'C':printf("70-79\n");break;
case 'D':printf("60-69\n");break;
case 'E':printf("<60\n");break;
default:printf("error\n");
}
return 0;
}
第一:grade的类型应该是char类型;
第二:if里面应该是('a'<=grade&&grade<='z')
第三:switch里面应该是switch(grade)
第四:case的A、B C D 应该带上单引号 : case 'A': case 'B'这样的
觉得有用的话采纳一下哈
你这不出问题才怪,float类型的不能变成char类型吧?只能int和char之间进行转换,float到int必须强转,还会损失精度