#include <stdio.h>
struct date{
int year,month,day;
};
int main()
{
int i,n,leap;
int s[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
struct date d;
while(scanf("%d%d%d",&d.year,&d.month,&d.day)!=EOF)
{
n=0;
leap=(d.year%4==0&&d.year%100!=0)||(d.year%400==0);
n=n+(s[leap][d.month]-d.day);
if(d.month!=12)i=d.month+1;
else
{ i=1;
d.year++;
leap=(d.year%4==0&&d.year%100!=0)||(d.year%400==0);
}
for(;(10000-n)>s[leap][i];i++)
{
n+=s[leap][i];
if(i==12)
{
i=0;
d.year++;
leap=(d.year%4==0&&d.year%100!=0)||(d.year%400==0);
}
if(n==10000)break;
}
printf("%d-%d-%d\n",d.year,i,(10000-n));
}
return 0;
}
解题思路:
注意事项:
参考代码:
0.0分
0 人评分