问下关于c语言,我在编程遇到问题:90分以上为优 80~90为良 60~80为中 60以下为差 代码如下:

2024-12-16 13:28:10
推荐回答(4个)
回答1:

实在喜欢用switch的话,也行。给你改了一下。
可能会有人觉得麻烦了。请多多指教!
#include
#include //如果不需要下面的pause语句,可以不用这个头文件
int main()
{
int a;
scanf("%d",&a);
// printf("成绩%d\n",a); //测试用
a=a/10-5; //关键是这里,把成绩转换成对应整数
// printf("%d\n",a); //测试用
switch(a)
{
case 4: //90++
printf("优\n");
break;
case 3: //80++,90以下
printf("良\n");
break;
case 1: //60++,70以下
case 2: //70++,80以下
printf("中\n");
break;
case 0: //50++,60以下
case -1: //40++,50以下
case -2: //30++,40以下
case -3: //20++,30以下
case -4: //10++,20
case -5:// <10
printf("差\n");
break;
default: printf("请重输\n");
}
system("pause");
}

//BCC++ 5.5,win7下编译通过正确

回答2:

#include
#include "stdlib.h"
int main()
{
int a,b,c,d,e;
scanf("%d",&a); /*注意格式*/
if(a>=90 && a<=100) /*有等号,并且不超过100*/
printf("优\n");
else if(a<90&&a>=80)
printf("良\n");
else if( a<80&&a>=60)
printf("中\n");
else if (a<60&& a>=0)
printf("差\n");
else
printf("请重新输入成绩\n");

system("pause");
}

回答3:

scanf("%d",&a);
case 1 : a>90, printf("优\n");break;
case 2 :a<90&&a>80,printf("良\n"); break;
case 3 : a<80&&a>60,printf("中\n");break;
case 4 :a<60,printf("差\n");break;
system("pause"); 最后这个,我一般习惯用return 0; ,你这个我也不知道行不行,不过应该可以,在就是第二个#include"stdlib.h“ 应该用不到,删去试试,不知道你是用什么版本的编译系统,嘿嘿,我也是刚学C语言,提了一点我力所能及能发现的,大家一起努力吧

回答4:

case xx: 中的xx就是a对应的实际值,用if-else语句实现
if(a > 100){error code}
else if( a >= 90){优}
else if(a >= 80)……