求第几天问题

问题:输入某年某月某日,判断这一天是这一年的第几天

分析:

        1,根据月份进行对比,比如1->0,2->31,3->59,4->90...

        2,判断年份是否是闰年,同时判断月份是否大于3月份,如果满足,就加1

代码:

int year,month,day,sum=0;

    scanf("%d%d%d",&year,&month,&day);

    switch(month){

        case 1:sum=0;break;

        case 2:sum=31;break;

        case 3:sum=59;break;

        case 4:sum=90;break;

        case 5:sum=120;break;

        case 6:sum=151;break;

        case 7:sum=181;break;

        case 8:sum=212;break;

        case 9:sum=243;break;

        case 10:sum=273;break;

        case 11:sum=304;break;

        case 12:sum=334;break;

        default:printf("error!");break;

    }

    if(year%4==0&&year%100!=0||year%400==0){

        if(month>2){

            sum=sum+1;

        }

    }

    sum=sum+day;

    printf("%d",sum);

结果:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。