本帖最后由 远人 于 2014-3-22 13:01 编辑
// 3.输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)
//第三种方法:性能最好
#include <stdio.h>
int main(int argc, const char * argv[])
{
printf("输入一个分数score==");
int score;
scanf("%d",&score);
if (100 >= score && 90 <= score) {
printf("A\n");
}
else if (90 > score){
printf("B\n");
}
else if (80 > score){
printf("C\n");
}
else if (70 > score){
printf("D\n");
}
else if (60 > score && 0 <= score){
printf("E\n");
}
else{
printf("这个数字超出分数范围\n");
}
return 0;
}
这是老师上课讲的习题,按照老师讲的,这是最优化的方法,但是输出结果有问题:100~90之间显示答案是A;89~80之间答案是B;但是输入79之后的数字答案都是B,比如输入数字54,答案是B。仔细查看了和老师之间的代码,也没错,编译器也没有报错,这是什么原因? |