(3.4C)根据年份与天数打印日期
作者:互联网
题目:
样例:
代码:
#include<stdio.h>
bool isleap(int y){
return((y%4==0&&y%100!=0)||y%400==0);//闰年返回1,平年返回0
}
int main(){
int month[13][2];
for(int i=1;i<=12;i++){
for(int j=0;j<2;j++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
month[i][j]=31;
}
else if(i==2&&j==0){
month[i][j]=28;//平年二月28天
}
else if(i==2&&j==1){
month[i][j]=29;
}
else{
month[i][j]=30;
}
}
}
int y,d;
while(scanf("%d%d",&y,&d)!=EOF){
if(y>3000||d>366||y<1||d<1){
break;
}
int y1=y;
int m1=1;
int d1=0;
while(d--){
d1++;
if(d1==month[m1][isleap(y1)]+1){
m1++;
d1=1;
}
}
//下面这部分千万不要忘记写,年份中有1个0还是2个0以及月份中的0都需要讨论来打印出来
if(y1<10){
printf("000");
printf("%d-",y1);
}
else if(y1>=10&&y1<100){
printf("00");
printf("%d-",y1);
}
else if(y1>=100&&y1<1000){
printf("0");
printf("%d-",y1);
}
else{
printf("%d-",y1);
}
if(m1<10){
printf("0");
printf("%d-",m1);
}
else{
printf("%d-",m1);
}
if(d1<10){
printf("0");
printf("%d\n",d1);
}
else{
printf("%d\n",d1);
}
}
return 0;
}
标签:返回,int,天数,打印,y%,3.4,&&,y1,100 来源: https://blog.csdn.net/m0_64364354/article/details/122786689