问答详情
源自:4-4 分支结构之嵌套if-else语句

请问我这样对么

#include <stdio.h>

int main() 

{

    int sale=120; //销售业绩为120万

    int year=1; //刚刚进入公司1年

    if(sale > 100 )

    {

        if(year >= 2)

        {

            printf("%s\n","获得优秀员工奖");

        }

        printf("%s\n","没有奖励");

    }

    else

    {

        printf("%s\n","很遗憾,期望你再接再厉");

    }//完善代码


提问者:年轻的程序猿 2015-12-25 21:44

个回答

  • onemoo
    2015-12-25 22:22:14
    已采纳

    这一句 printf("%s\n","没有奖励");  造成只要sale大于100,"没有奖励"都会被打印出来,这不是你想要的结果把?

    正确的逻辑应该是:sale > 100 和 year >= 2 若不能同时满足,就不能得到奖励。


    还有,语句结尾的分号应该是英文半角的

  • 一景千漪
    2015-12-26 13:16:34

    #include <stdio.h>

    int main(void) 

    {

        int sale=120; //销售业绩为120万

        int year=1; //刚刚进入公司1年

        if(sale > 100 )

        {

            if(year >= 2)

            {

                printf("%s\n","获得优秀员工奖");

            }

            printf("%s\n","没有奖励");

        }

        else

        {

            printf("%s\n","很遗憾,期望你再接再厉");

        }//完善代码

        return 0;

    }

  • 一景千漪
    2015-12-26 13:14:46

    同上,或者做点同基础的修改:

    #include <stdio.h>

    int main() 

    {

        int sale=120; //销售业绩为120万

        int year=1; //刚刚进入公司1年

        if(sale > 100 )

        {

            if(year >= 2)

            {

                printf("%s\n","获得优秀员工奖");

            }

        else        //此处添加else,判断是否输出 “没有奖励”

            printf("%s\n","没有奖励");

        }

        else

        {

            printf("%s\n","很遗憾,期望你再接再厉");

        }//完善代码