计算某日是该年第几天

#include<stdio.h>
int leap(int year)//判断闰年还是平年
{
    if((year%4==0&&year%100!=0)||year%400==0)
        return 1;
    else
        return 0;
}

int num(int year,int month,int day)//闰年二月29天,平年二月28天,分别用两个数组保存各月的天数
{
    int sum=0,i;
    int leapNum[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
    int ComNum[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    if(leap(year))
    {
        for(i=0;i<month-1;i++)
        sum+=leapNum[i];
        sum+=day;
        return sum;
    }
    else
    {
        for(i=0;i<month-1;i++)
        sum+=ComNum[i];
        sum+=day;
        return sum;
    }

}

int main()
{
     int year,month,day;
     scanf("%d%d%d",&year,&month,&day);
     printf("%d",num(year,month,day));
}

猜你喜欢

转载自blog.csdn.net/jd_457619512/article/details/80158835