给出一个百分制成绩,要求输出成绩等级 90分(含90分,以下同)以上为A 80分以上为B 70分以上为C 60分以上
给出一个百分制成绩,要求输出成绩等级90分(含90分,以下同)以上为A80分以上为B70分以上为C60分以上为D其他为E。Input行1:一个浮点数m,m∈[100,0]...
给出一个百分制成绩,要求输出成绩等级
90分(含90分,以下同)以上为A
80分以上为B
70分以上为C
60分以上为D
其他为E。
Input
行1:一个浮点数m,m∈[100,0],小数点后最多2位
Output
行1:相应等级
以下是我写的程序,为什么是错误答案?
#include <stdio.h>
main()
{
float m;
scanf("%.2f",&m);
switch ((int)m/10)
{
case 10:
case 9: printf("A\n");
break;
case 8: printf("B\n");
break;
case 7 : printf("C\n");
break;
case 6: printf("D\n");
break;
default: printf("E\n");
break;
}
} 展开
90分(含90分,以下同)以上为A
80分以上为B
70分以上为C
60分以上为D
其他为E。
Input
行1:一个浮点数m,m∈[100,0],小数点后最多2位
Output
行1:相应等级
以下是我写的程序,为什么是错误答案?
#include <stdio.h>
main()
{
float m;
scanf("%.2f",&m);
switch ((int)m/10)
{
case 10:
case 9: printf("A\n");
break;
case 8: printf("B\n");
break;
case 7 : printf("C\n");
break;
case 6: printf("D\n");
break;
default: printf("E\n");
break;
}
} 展开
4个回答
2012-01-31
展开全部
scanf()函数中没有精度控制。
scanf("%.2f",&m); 是非法的。不能企图用此语句输入小数为2位的实数。
改为scanf("%f",&m);
scanf("%.2f",&m); 是非法的。不能企图用此语句输入小数为2位的实数。
改为scanf("%f",&m);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
switch ((int)m/10)
改成switch ((int)(m/10))看看
改成switch ((int)(m/10))看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-31
展开全部
int tmp=(int)m;
switch((tm-tmp%10)/10)
switch((tm-tmp%10)/10)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询