为了账号安全,请及时绑定邮箱和手机立即绑定

有没有大哥帮忙看一下哪里不对

判断大小月

请用程序实现: 输入一个表示月份的整数,判断它是大月还是小月。如果是大月,输出solar month;如果是小月,输出lunar month; 如果输入数据不合法, 则输出error

注意: 如果一个月有31天则被称为大月;如果一个月有30天则被称为小月,2月既不是大月也不是小月,在本题中,将2月划分到小月。

#include <stdio.h>

int main () {
    // TODO 请在此处编写代码,完成题目要求
    int month=2;
    if(month==1||3||5||7||8||10||12)
    {
        printf("solar month");
    }
        else if(month==2||4||6||9||11)
        {
            printf("lunar month");
        }
    else
    {
        printf("error");
    }
    return 0;
}


正在回答

2 回答

int main(void) { 

int month=2;

    if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))

    {

        printf("solar month\n");

    }

    else if((month==2)||(month==4)||(month==6)||(month==9)||(month==11))

        {

            printf("lunar month\n");

        }

    else

    {

        printf("error\n");

    }

    return 0;

}


0 回复 有任何疑惑可以回复我~

在你的if(month==1||3||5||7||8||10||12) 代码中,(程序认为你的意思是:2=1,或者2=3,或2=5....)

然后,month=2 为"True",就直接输出"solar month",不再执行下面的语句。

0 回复 有任何疑惑可以回复我~
#1

小龙佩奇

所以要改成: if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12)) { printf("solar month\n"); } else if((month==2)||(month==4)||(month==6)||(month==9)||(month==11)) { printf("lunar month\n");
2020-03-13 回复 有任何疑惑可以回复我~
#2

北渊 提问者

感谢!讲得很清楚
2020-03-13 回复 有任何疑惑可以回复我~
#3

小龙佩奇 回复 北渊 提问者

也可能是因为month==1||3||5||7||8||10||12在C中计算出一个为"True"的逻辑值。 我是小白,如果回答错了请原谅!!
2020-03-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有没有大哥帮忙看一下哪里不对

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信