分别用多分支if语句和switch语句完成

计算某年某月有多少天,输入两个整数表示年和月,输出一个整数,即该月的天数

分析:

如果月份是1、3、5、7、8、10或12,输出31;

如果月份是4、6、 9或11,输出30

如果月份是2:

如果年份是闰年,输出29

否则输出28

#include<stdio.h>
int main()
{int a,b;
scanf("%d %d",&a, &b);
if((a%400==0)||((a%4==0)&&(a%100!=0)))
//a为闰年
    {if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
        printf("%d",31);
    else if(b==2)
        printf("%d",29);
    else if(b==4||b==6||b==9||b==11)
        printf("%d",30);
    }
else if
    (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
        printf("%d",31);
    else if(b==2)
        printf("%d",28);
    else if(b==4||b==6||b==9||b==11)
        printf("%d",30);
return 0;
}

 
#include<stdio.h>
int main()
{
    int year, month;
    printf("输入年和月(用空格分隔):\n");
    scanf("%d %d", &year, &month);
    switch (month)
    {
    case 2:if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
        printf("29\n");
    else
        printf("28\n");
    break;
    case 4:
    case 6:
    case 9:
    case 11:printf("30\n"); break;
    default:printf("31\n"); break;
    }
    return 0;
}
 

img