请问老师,下面的程序哪里出了错。

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:30:58
#include <stdio.h>
void main()
{
int n;
printf("please input a number:");
scanf("%d",&n);
switch(n)
{
case(n>=90):printf("A"\n);break;
case(n>=80):printf("B"\n);break;
case(n>=70):printf("C"\n);break;
case(n>=60):printf("D"\n);break;
case(n<60):printf("E"\n");break;
default:printf("error\n");
}
printf("\n");
}
题目是根据输入的分数,得出A,B,C,D不等的平分!
谢谢

没有搞清楚switch语句的含义:
switch(表达式)
{case 常量表达式1(看清楚是常量表达式,你那是关系表达式了):语句1
case 常量表达式2 :语句2
。。。。。
default :语句
}
从另一个角度来说,你输入一个n的值,是和case表达式的值是相等,而不是在什么什么范围之内。。。。明白了吗?
可以按照书上的写了,取整后再和case的值做比较。。。。