从键盘输入一个年份year和月份month,输出该月有多少天(考虑闰年)。

提示:如果年份能被400整除,则它是闰年;如果能被4整除,而不能被100整除,则也是闰年,否则不是闰年。
输入格式: 输入任意符合范围(1月12月)的月份和(1900年9999年)年份,且两个值之间空格分隔。
输入样例:2000 2
输出样例:
year = 2014 month = 8 days=31

就是用if else 来判断
月份是 4 6 9 11月的是30天
月份是 2月的再判断不是闰年, 是闰年2月是29天 不是闰年2月是28天
其它月份的是31天
你题目的解答代码如下:

#include <stdio.h>
int main()
{
    int year, month, days;
    scanf("%d%d", &year, &month);
    if (month == 4 || month == 6 || month == 9 || month == 11)
        days = 30;
    else if (month == 2)
    {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
            days = 29;
        else
            days = 28;
    }
    else
        days = 31;
    printf("year = %d month = %d days = %d", year, month, days);
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

定义一个数组,长度12,为每个月天数。根据年份判断闰年否,是闰年的话2月有29天。然后用月份作为下标取得该月天数

#include <stdio.h>
int main()
{
    int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    int year,month;
    scanf("%d%d",&year,&month);
    if(month ! = 2)
        printf("year = %d month = %d days=%d",year,month,m[month]);
    else if((year %400 == 0 ) || (year%4==0 && year & 100 != 0)
        printf("year = %d month = %d days = %d",year,month,29);
    else
        printf("year = %d month = %d days = %d",year,month,28);
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632