关于一道C语言的题目。
给出一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C',60~69分为‘D’,60分一下...
给出一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C',60~69分为‘D’,60分一下为‘E‘。
我的做法为:
#include<stdio.h>
int main()
{
int a,b,c,d,e,grade;
a>=90&&a<=100;
b>=80&&b<=89;
c>=70&&c<=79;
d>=60&&d<=69;
e>=0&&e<60;
scanf("%d",&grade);
switch(grade)
{
case'a':printf("A",grade);break;
case'b':printf("B",grade);break;
case'c':printf("C",grade);break;
case'd':printf("D",grade);break;
case'e':printf("E",grade);break;
}
return 0;
}
执行不出来,请帮我看看怎么回事,谢谢! 展开
我的做法为:
#include<stdio.h>
int main()
{
int a,b,c,d,e,grade;
a>=90&&a<=100;
b>=80&&b<=89;
c>=70&&c<=79;
d>=60&&d<=69;
e>=0&&e<60;
scanf("%d",&grade);
switch(grade)
{
case'a':printf("A",grade);break;
case'b':printf("B",grade);break;
case'c':printf("C",grade);break;
case'd':printf("D",grade);break;
case'e':printf("E",grade);break;
}
return 0;
}
执行不出来,请帮我看看怎么回事,谢谢! 展开
4个回答
展开全部
你这纯粹是数学啊,不是程序语言,当然不能执行出结果了,修改如下:
#include<stdio.h>
int main()
{
int grade, a;
scanf("%d",&grade);
a=grade/10 ; //判断grade在哪个区间
switch(a)
{
case 10:
case 9: //90以上,包括100的
printf("A");break;
case 8:
printf("B");break;
case 7:
printf("C");break;
case 6:
printf("D");break;
default: //低于60的
printf("E");break;
}
return 0;
}
展开全部
你那case后面 'a' 是字符常量,grade定义的是int ,能行吗?还有你grade又没与ABCD比较PC怎么会知道他在那个范围内!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写一个 装门 用来 转换 分数和等级的函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int a,b,c,d,e,grade;
/*a>=90&&a<=100; //这样并不会影响a的值
b>=80&&b<=89;
c>=70&&c<=79;
d>=60&&d<=69;
e>=0&&e<60;*/
scanf("%d",&grade);
/*switch(grade)
{
case'a':printf("A",grade);break; // 字符常量 ’a' 同变量 a是不相同的,而且这里不能直接用变量a,case后必须是常量
case'b':printf("B",grade);break;
case'c':printf("C",grade);break;
case'd':printf("D",grade);break;
case'e':printf("E",grade);break;
}*/
if (grade>=90 &&grade<=100)
printf("A",grade);
else if(grade>=80 && grade <90)
printf("B",grade);
else if(grade>=70 && grade<80)
printf("C",grade);
else if(grade>=60 && grade<70)
printf("D",grade);
else
printf("E",grade);
return 0;
}
int main()
{
int a,b,c,d,e,grade;
/*a>=90&&a<=100; //这样并不会影响a的值
b>=80&&b<=89;
c>=70&&c<=79;
d>=60&&d<=69;
e>=0&&e<60;*/
scanf("%d",&grade);
/*switch(grade)
{
case'a':printf("A",grade);break; // 字符常量 ’a' 同变量 a是不相同的,而且这里不能直接用变量a,case后必须是常量
case'b':printf("B",grade);break;
case'c':printf("C",grade);break;
case'd':printf("D",grade);break;
case'e':printf("E",grade);break;
}*/
if (grade>=90 &&grade<=100)
printf("A",grade);
else if(grade>=80 && grade <90)
printf("B",grade);
else if(grade>=70 && grade<80)
printf("C",grade);
else if(grade>=60 && grade<70)
printf("D",grade);
else
printf("E",grade);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询