字符串与日期处理-8

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>

using namespace std;
const int maxn=10010;
const int N=10;

bool isleap(int y){
	
	return (y%400==0)||(y%100!=0&&y%4==0);
}
int month[]={0,31,0,31,30,31,30,31,31,30,31,30,31};

int main(){
	
	int y,m,d,k;
	
	cin>>y>>m>>d>>k;
	
	if(isleap(y)) month[2]=29;
		else month[2]=28;
		
	for(int i=0;i<k;i++){
		
		d++;
		if(d==month[m]+1){
			
			m++;   d=1;
		}
		
		if(m==13){
			
			y++; m=1;
			
			if(isleap(y)) month[2]=29;
		    else month[2]=28;
		}
	}
	printf("%04d-%02d-%02d\n",y,m,d);

	return 0;
}
发布了138 篇原创文章 · 获赞 18 · 访问量 7042

猜你喜欢

转载自blog.csdn.net/qq_924485343/article/details/104334407