這個程序應該非常簡單,但由於某種原因,我無法弄清楚如何重寫邏輯,以便僅使用'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