这个程序应该真的很简单,但是由于某种原因,我无法弄清楚如何重做逻辑,因此它仅使用'if'语句(没有其他)。

基本上就是这样

if(score >= 90)
grade = 'A';
else if(score >= 80)
grade = 'B';


等等

我们打算重做此逻辑,以便它仅使用“ if”而不是“ else”。我尝试了几种方法,但似乎没有一种对我有用。我认为可行的尝试方式是这样

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的分数。有人能指出我的错误吗?或者,也许更简单的方法做到这一点?

最佳答案

在你们发布之前,我实际上是自己解决的,但是我非常感谢您的帮助!我将其发布为答案,因为我所做的与发布的两个答案不同。

if(score < 60)
grade = 'F';
if(score >= 60)
grade = 'D';
if(score >=70)
grade = 'C';
if(score >=80)
grade = 'B';
if(score >= 90)
grade = 'A';


基本上,只是采用了if-else逻辑并将其翻转而没有else的逻辑。再次感谢!

关于c - C中字母分数的整数得分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26024970/

10-11 23:08
查看更多