获得月份天数

获得月份天数

http://www.nowcoder.com/questionTerminal/13aeae34f8ed4697960f7cfc80f9f7f6

分析:

月份天数可以使用闰年平年判断然后打表输出,也可以使用口诀一三五七八十腊再输出。

题解:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int year = 0, month = 0;
    //设置好闰年和平年的每个月的天数
    int normal[] = {31,28,31,30,31,30,31,31,30,31,30,31};
    int gap[] = {31,29,31,30,31,30,31,31,30,31,30,31};
    //循环读入年月
    while(scanf("%d %d", &year, &month) != EOF) {
        //判断是否为闰年,分别通过上述的数组中查询月份的天数
        if(year % 4 == 0 || (year % 4 == 0 && year % 100 != 0)) {
            printf("%d\n", gap[month-1]);
        } else {
            printf("%d\n", normal[month-1]);
        }
    }
    return 0;
}

题解2:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int year = 0, month = 0;
    //循环输入年月
    while(scanf("%d %d", &year, &month) != EOF) {
        //闰年的判断
        if(year % 4 == 0 || (year % 4 == 0 && year % 100 != 0)) {
            if(month == 2) { //如果是特殊月份
                printf("29\n");
                continue;
            }
        }
        if(month == 2)
            printf("28\n");
        else if(month == 1 || month == 3 || month == 5 || month == 7
                || month == 8 || month == 10 || month == 12) //在if语句中判断31天的月份
            printf("31\n");
        else //其余皆为30天的月份
            printf("30\n");
        }
    return 0;
}

总结:

if else 的嵌套使用,以及判断闰年平年的方法。

全部评论

相关推荐

05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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