#include<iostream>
#include<cstdio>
using namespace std;
int c_days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int year,month,day,days;
scanf("%04d%02d%02d%d",&year,&month,&day,&days);
if((year%4==0 && year%100!=0) || (year%400==0))
c_days[2]++;
day+=days;
while(day>c_days[month])
{
day-=c_days[month];
month++;
if((year%4==0 && year%100!=0) || (year%400==0))
c_days[2]++;
if(month>12)
{
year++;
month=1;
}
}
printf("%04d%02d%02d",year,month,day);
return 0;
}
核心部分
scanf("%4d%2d%2d%d",&year,&moth,&day,&n);
if(year%400==0||year%4==0&&year%100!=0) days[2]=29;
else days[2]=28;
for(int i=1;i<=n;i++){
day+=1;
if(day==days[moth]+1){
moth++;
day=1;
}
if(moth==13){
moth=1;
year++;
if(year%400==0||year%4==0&&year%100!=0) days[2]=29;
else days[2]=28;
}
}
if(moth>9&&day>9) cout<<year<<moth<<day;
else if(moth>9&&day<=9) cout<<year<<moth<<"0"<<day;
else if(moth<=9&&day>9) cout<<year<<"0"<<moth<<day;
else if(moth<=9&&day<=9) cout<<year<<"0"<<moth<<"0"<<day;
注意
days[15]={0,31,0,31,30,31,30,31,31,30,31,30,31}
scanf("%4d%2d%2d%d",&year,&moth,&day,&n);
if(year%400==0||year%4==0&&year%100!=0) days[2]=29;
else days[2]=28;
for(int i=1;i<=n;i++){
day+=1;
if(day==days[moth]+1){
moth++;
day=1;
}
if(moth==13){
moth=1;
year++;
if(year%400==0||year%4==0&&year%100!=0) days[2]=29;
else days[2]=28;
}
}
if(moth>9&&day>9) cout<<year<<moth<<day;
else if(moth>9&&day<=9) cout<<year<<moth<<"0"<<day;
else if(moth<=9&&day>9) cout<<year<<"0"<<moth<<day;
else if(moth<=9&&day<=9) cout<<year<<"0"<<moth<<"0"<<day;
days[15]={0,31,0,31,30,31,30,31,31,30,31,30,31}
