题解 | #获得月份天数#

获得月份天数

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

#include <stdio.h>
#include <stdlib.h>  // 引入用于标准库函数的头文件,比如exit函数

// 判断是否为闰年的函数,返回1表示是闰年,返回0表示不是闰年
int is_leap_year(int year) {
    return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}

int main() {
    int y, m;
    int n1[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int n2[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

    while (scanf("%d %d", &y,
                 &m) == 2) {  // 更规范的写法判断scanf是否成功读取两个整数
        if (m < 1 || m > 12) {
            fprintf(stderr,
                    "输入的月份不合法,请重新输入1到12之间的整数作为月份!\n");
            // 清空输入缓冲区,避免无效数据残留影响下一次输入读取
            while (getchar() != '\n');
            continue;
        }

        int* days = is_leap_year(y) ? n2 :
                    n1; // 根据是否闰年选择对应的天数数组指针
        printf("%d\n", days[m]);

    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:02
鼠鼠深知pdd的强度很大,但是现在没有大厂offer,只有一些不知名小厂我是拒绝等秋招呢,还是接下?求大家帮忙判断一下!
水中水之下水道的鼠鼠:接了再说,不图转正的话混个实习经历也不错
投递拼多多集团-PDD等公司10个岗位 >
点赞 评论 收藏
分享
吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
爱吃肉的伊登在写日记:好棒,27届简历能做成这个样子,但是第一个项目感觉cover住难度还是不小的,特别是二面的时候肯定要对分布式系统设计这一块儿有高出正常面试者的水平才行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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