题解 | #日期类#

//日期类 北理 2024/1/4
//http://t.cn/E9RJUp4
#include <iostream>
using namespace std;
bool ifLeap(int year){
    return (year%400==0)||(year%100!=0&&year%4==0);
}
int main() {
    int n;
    int year,month,date;
    int caltab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    cin>>n;
    while(n){
        n--;
        cin>>year>>month>>date;
	  //注意,此处是需要判断平闰年的,测试用例不够全面,没有涉及这种考虑
        if(ifLeap(year)) caltab[2]=29;
        else caltab[2]=28;
	  //整体思路很简洁,直接给日期+1,依次判断月、年是否需要更新
        date+=1;
        if(date>caltab[month]){
            month+=1;
            date=1;
            if(month>12){
                year+=1;
                month=1;
            }
        }
        printf("%04d-%02d-%02d\n",year,month,date);
    }
  return 0;
}
全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务