题解 | 获得月份天数

获得月份天数

https://www.nowcoder.com/practice/13aeae34f8ed4697960f7cfc80f9f7f6

#include <stdio.h>

void runnian(int n)
{
    switch(n)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
        printf("31\n");
        break;
        case 2:
        printf("29\n");
        break;
        case 4:
        case 6:
        case 9:
        case 11:
        printf("30\n");
        break;
    }
}
void pinnian(int n)
{
    switch(n)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
        printf("31\n");
        break;
        case 2:
        printf("28\n");
        break;
        case 4:
        case 6:
        case 9:
        case 11:
        printf("30\n");
        break;
    }
}

int main() 
{
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF)
    { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        void (*arr[])(int) = {runnian,pinnian};
        if((a%4 == 0 && a%100 != 0)||(a % 400 == 0))
        {
            arr[0](b);
        }
        else 
        {
            arr[1](b);
        }
        
    
    }
    return 0;
}


全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-16 12:18
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务