C++ 三天打鱼两天晒网。C++

cpp 复制代码
#include<stdio.h>


int Month[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

int isLeap(int year) {
    return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}

int getDaysByM(int year,int month) {
    int days = Month[month];
    if (isLeap(year) && month == 2)
        days += 1;
    return days;
}
 

int main()
{
    int year, month, day;
    while (scanf("%d-%d-%d", &year, &month, &day) != EOF) {
        int days = 0;
        int y = 2000, m = 1, d = 1;
        while (1) {
            if (y == year && month == m && day == d)
                break;

            if (y < year) {
                y += 1;
                if (isLeap(y)) {
                    days += 366;                      
                }
                else {
                    days += 365;                       
                }
            }
            else {
                d += 1;
                days += 1;
                if (d > getDaysByM(y, m)) {
                    m += 1;
                    d = 1;
                    if (m > 12) {
                        m = 1;
                        y += 1;
                    }                              
                }
            }
            
        }
        int res = days % 5;
        if (res < 3) {
            puts("打鱼");
        }
        else {
            puts("晒网");
        }

    }
}
相关推荐
艾莉丝努力练剑7 分钟前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
武子康1 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
_殊途2 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
椰椰椰耶3 小时前
【Spring】拦截器详解
java·后端·spring
没有bug.的程序员4 小时前
JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
java·面试·mybatis
没有羊的王K5 小时前
SSM框架学习——day1
java·学习
珊瑚里的鱼5 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
又菜又爱coding5 小时前
安装Keycloak并启动服务(macOS)
java·keycloak
不知道叫什么呀5 小时前
【C】vector和array的区别
java·c语言·开发语言·aigc
wan_da_ren6 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端