/*高斯日记*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define N 8113
#define Y 1777
#define M 4
#define D 30
int rn(int y)//判断是否为闰年
{
if(y%4==0&&y%100!=0||y%400==0)
{
return 1;}
return 0;
}
int main()
{
int y=Y;
int m=M;
int d=D;
int q=0;
while(q<N-1)
{
if(m==12&&d==31)
{
y++;
q++;
m=1;
d=1;
continue;
}
if(m==1||m==3||m==5||m==7||m==9||m==10||m==12)
{
if(d==31)//已经满了一个月了
{
q++;
m++;
d=1;//日归1
}else
{
q++;
d++;
}
continue;
}
if(m==4||m==6||m==8||m==11)
{
if(d==30)//已经满了一个月了
{
q++;
m++;
d=1;//日归1
}else
{
q++;
d++;
}
continue;
}
if(m==2)
{
if(rn(y))
{
if(d==29)//已经满了一个月了
{
q++;
m++;
d=1;//日归1
}else
{
q++;
d++;
}
continue;
}else
{
if(d==28)//已经满了一个月了
{
q++;
m++;
d=1;//日归1
}else
{
q++;
d++;
}
continue;
}
}
}
printf("%d-%d-%d\n",y,m,d);
return 0;
}
作者用的是txt文本编写,所以格式不太完美,请见谅!