这个程序应该非常简单,但由于某种原因,我无法弄清楚如何重写逻辑,以便仅使用'if'语句(别的)。C整数得分与字母等级?
基本上就是这个样子
if(score >= 90)
grade = 'A';
else if(score >= 80)
grade = 'B';
等
我们是为了返工这个逻辑,使其仅使用“如果”,而不是“其他”。我尝试了几种方法,但他们中的任何一个都不适合我。我尝试的方式,我想会的工作是这样的
if(score <= 100)
{
if(score < 90)
{
if(score <80)
{
if(score <70)
{
if(score <60)
{
grade = 'F';
}
grade = 'D';
}
grade = 'C';
}
grade = 'B';
}
}
if(score >= 90)
grade = 'A';
这将正确地获得A的等级,和B,但是当我去下面80,它总是给我B.任何人都可以指出我的错误?或者也许更简单的方法来做到这一点?
请用所有的警告和调试信息(例如'gcc -Wall -g')进行编译,然后**使用调试器**(例如'gdb'),例如一步一步地运行你的程序。这是一个必不可少的技能。 – 2014-09-24 19:32:20
没有错误,如果输入的值低于80,它不会给出正确的结果。 – bibzuda7 2014-09-24 19:32:56
但是没有给出预期的结果*是一个错误(并且大多数错误都是类似的)! – 2014-09-24 19:34:29