Question:
Result: 1799-07-16
Solve: 手写日历或者excel,注意格式控制,初始日期 ,if-else配对
Code:
#include<iostream>
#include<cstdio>
using namespace std;
int main(void)
{
int y,m,d;
y = 1777;
m = 4;
d = 30;
//(y%100 != 0 && y%4 == 0) || y%400 == 0
for(int i = 1; i <= 8112; i++){
d++;
//加年
if(m == 12 && d > 31){
y++;
m = d = 1;
continue;
}
//大月
if(m==1||m==3||m==5||m==7||m==8||m==10)
{
if(d > 31) { m++; d = 1; }
continue;
}
//小月
if(m==4||m==6||m==9||m==11)
{
if(d > 30) { m++; d = 1; }
continue;
}
//2月
if(m == 2){
if((y%100 != 0 && y%4 == 0) || y%400 == 0)
if(d > 29) { m++; d = 1; }
else ;
else
if(d > 28) { m++; d = 1; }
else ;
continue;
}
}
printf("%04d-%02d-%02d",y,m,d);
return 0;
}