为什么输入2月,给出的是31

#include <stdio.h>
int main ( )
{
int year,leap,month;
scanf("%d%d",&year,&month);
month=month%13;
if (year%4==0&&year%100!=0||year%400==0)
{
switch(month)
{
case 1: month=31;break;
case 2: month=29;break;
case 3: month=31;break;
case 4: month=30;break;
case 5: month=31;break;
case 6: month=30;break;
case 7: month=31;break;
case 8: month=31;break;
case 9: month=30;break;
case 10: month=31;break;
case 11: month=30;break;
case 12: month=31;break;
}
}
else
switch(month)
{

     case 1: month=31;break;
        case 2: month=28;break;
        case 3:month=31;break;
        case 4: month=30;break;
        case 5: month=31;break;
        case 6: month=30;break;
        case 7: month=31;break;
        case 8: month=31;break;
        case 9: month=30;break;
        case 10: month=31;break;
        case 11: month=30;break;
        case 12: month=31;break;
        }

    printf("%d",month);
    return 0;

}

img

修改如下,供参考,输入时的格式:2020 2 回车 两个数字间是空格,没有逗号等字符。

#include <stdio.h>
int main ( )
{
    int year,leap,month;
    scanf("%d%d",&year,&month);
                       //month=month%13; 修改
    switch(month)
         {
            case 1: month=31;break;
            case 2:
                   if (year%4==0&&year%100!=0||year%400==0)
                       month=29;
                   else
                       month=28;
                   break;
            case 3: month=31;break;
            case 4: month=30;break;
            case 5: month=31;break;
            case 6: month=30;break;
            case 7: month=31;break;
            case 8: month=31;break;
            case 9: month=30;break;
            case 10: month=31;break;
            case 11: month=30;break;
            case 12: month=31;break;
    }

    /*else
     switch(month)
     {

        case 1: month=31;break;
        case 2: month=28;break;
        case 3:month=31;break;
        case 4: month=30;break;
        case 5: month=31;break;
        case 6: month=30;break;
        case 7: month=31;break;
        case 8: month=31;break;
        case 9: month=30;break;
        case 10: month=31;break;
        case 11: month=30;break;
        case 12: month=31;break;
        } */
 
    printf("%d",month);
    
    return 0;
}

img

输入格式不对,在年份月份间可以加空格