(3.4C)根据年份与天数打印日期

2022/2/4 23:43:47

本文主要是介绍(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;
}



这篇关于(3.4C)根据年份与天数打印日期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程