问答详情
源自:4-3 分支结构之多重if-else语句

请问程序哪里错了

#include <stdio.h>

int main() 

{

    int score = 7200;

    //完善一下代码

    if(score >= 10000)

    {

        printf("%s\n","钻石玩家");

    }

    else if(score >= 5000 && score<10000)

    {

        printf("%s\n","白金玩家");    

    }

    else if(score>=1000 && score<5000)

    {

        printf("%s\n","青铜玩家");     

    }

    else(score<1000)

    {

        printf("%s\n","普通玩家");    

    }

    return 0;

}

提问者:白_泽 2015-10-19 22:45

个回答

  • THE_BEST_1994
    2015-10-19 22:56:22
    已采纳

    有些代码多余的  比如 if(score >= 5000 && score<10000)   的后面 && score<10000)  你的后面if一句是嵌套的  ,所以后面大于5000,自然小于10000 下面类似的以此类推

  • onemoo
    2015-10-19 23:40:55

    如LS所说,你的前几个判断部分不用写这么复杂,但这不是错误。

    这代码错在最后一个else处: else后面不应跟着小括号。 只有 if 后面应该有用小括号括起的用于判断的表达式。

    最后这里也可以写成 else if (score < 1000) {...} 这样的形式。不过程序到这一步时score肯定是小于1000的,也就没必要写成这样了,只写else就可以了。