求第几天问题

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

分析:

        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);

结果:


求第几天问题_第1张图片

你可能感兴趣的:(求第几天问题)