#include<stdio.h>
#define run(x) x%100!=0&&x%4==0||x%400==0?1:0
int dofm[13][2]={
0,0,
31,31,28,29,31,31,30,30,
31,31,30,30,31,31,31,31,
30,30,31,31,30,30,31,31,
};
int main(){
int y,m,d,n;//n是所给的一年中的第几天
while(scanf("%d %d",&y,&n)!=EOF){
m=0;
while(n>0){
m++;
n=n-dofm[m][run(y)];
}
d=dofm[m][run(y)]+n;
printf("%04d-%02d-%02d\n",y,m,d);
}
return 0;
#define run(x) x%100!=0&&x%4==0||x%400==0?1:0
int dofm[13][2]={
0,0,
31,31,28,29,31,31,30,30,
31,31,30,30,31,31,31,31,
30,30,31,31,30,30,31,31,
};
int main(){
int y,m,d,n;//n是所给的一年中的第几天
while(scanf("%d %d",&y,&n)!=EOF){
m=0;
while(n>0){
m++;
n=n-dofm[m][run(y)];
}
d=dofm[m][run(y)]+n;
printf("%04d-%02d-%02d\n",y,m,d);
}
return 0;
}
所犯错误:
要严格注意格式,输出格式,年份的地方想当然的省了0,是错误的,应该是%04d