程序问题
#include <stdio.h>int main()
{
float a;
printf("请输入你的分数:");
scanf("%f",&a);
if(a>=90)
{
printf("A\n");
}
else if(90>a>=80)
{
printf("B\n");
}
else if(80>a>=70)
{
printf("C\n");
}
else if(70>a>=60)
{
printf("D\n");
}
else
{
printf("E\n");
}
return 0;
}
为啥打低于九十的数就只会出E
低于90的话,你写的其他if else都不会判断,直接到最后一个else,你自己再检查一下你的if 的范围 判断式不能这样写,编译器读不懂
#include <stdio.h>
int main()
{
float a;
printf("请输入你的分数:");
scanf("%f",&a);
if(a>=90)
{
printf("A\n");
}
else if(90>a && a>=80)
{
printf("B\n");
}
else if(80>a&& a>=70)
{
printf("C\n");
}
else if(70>a&& a>=60)
{
printf("D\n");
}
else
{
printf("E\n");
}
return 0;
}
#include <stdio.h>
int main(){
int score;
printf("请输入你的分数:");
scanf("%d", &score);
if(score >= 90) printf("A");
else if(score >= 80) printf("B");
else if(score >= 70) printf("C");
else if(score >= 60) printf("D");
else printf("E");
return 0;
} 电脑不在旁边。直接输出E,是因为关系运算符是双目运算符,用来比较2个运算量之间的关系,你一次比较了3个(a 80 90)所以后面的语句不能表达你想表达的取值范围,例如80-90之间要用(a>=80&&a<90)运用了一个逻辑与将两个方向的比较连接起来 可以再试着改一下程序哦
页:
[1]