C语言,根据成绩判定优秀,不及格,及格。这个哪里出错了?我输入100还是显示不及格。谢谢指出!

2025-03-13 23:16:34
推荐回答(4个)
回答1:

if(60<=x<=79)不能这么写  只能用“与”来表示

改为if(60<=x&&x<=79) 其他同理

#include 

#include

void main()

{

 printf("请输入成绩:"); 

 int x;   

 scanf("%d",&x); 

 if(0<=x&&x<=59) 

 printf("不及格\n"); 

 else   if(60<=x&&x<=79)  printf("及格\n");   

 else   if(80<=x&&x<=89)     printf("良好\n");     

 else   if(90<=x&&x<=100)     printf("优秀\n");         

 else   printf("输入错误\n");   

 

}

回答2:

貌似应该先判断一下输入的是不是数值吧~~

回答3:

if(0<=x && x<=59)
//{
printf("不及格\n");
else
if(60<=x && x<=79)
printf("及格\n");
else
if(80<=x && x<=89)
printf("良好\n");
else
if(90<=x && x<=100)
printf("优秀\n");
else
printf("输入错误\n");
// }

/************************************/
if(条件语句,不是数学表达式。要符合c语言规范)
{
这里的语句只用条件成立时才运行;
}

回答4:

不能这样判断 if(0<=x<=59)
要这样写: if((0 <= x)&&(59 >= x))