计算给出日期是该年的第几天

#include<iostream>
using namespace std;
int main()
{
    int sum(int year,int month,int day);
    int y,m,d;
    cin>>y;
    cin>>m;
    cin>>d;
    int s=sum(y,m,d);
    cout<<s+d;
    return 0;
}

bool isleap(int year)                                        //判断是否是闰年
{
    if(year%4==0&&year%100!=0||year%400==0)
        return true;
    return false;
}

int sum(int year,int month,int day)
{
    int sum=0;
    int ly[12]={31,29,31,30,31,30,31,31,30,31,30,31};        //闰年月份
    int notly[12]={31,28,31,30,31,30,31,31,30,31,30,31};    //非闰年月份
    if(isleap(year)==true)                                    //是闰年 用闰年月份
    {
        for(int i=0;i<month-1;++i)
            sum=ly[i]+sum;
    }
    if(isleap(year)==false)                                    //不是闰年用非闰年月份
    {
        for(int j=0;j<month-1;++j)
            sum=notly[j]+sum;
    }
    return sum;
}
 

猜你喜欢

转载自blog.csdn.net/m0_47575628/article/details/109014409