输入日期显示是该年的第几天

输入一个日期的年,月,日,计算并输出这天是该年的第几天,例如,2011年1月31日是该年的第31天。

#include <iostream>

using namespace std;

int main() {
    int year, month, day, days = 0;
    int daysOfMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

    cout << "请输入年份:";
    cin >> year;
    cout << "请输入月份:";
    cin >> month;
    cout << "请输入日期:";
    cin >> day;

    // 计算该年是否为闰年
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
        daysOfMonth[1] = 29;
    }

    // 计算该天是该年的第几天
    for (int i = 0; i < month - 1; i++) {
        days += daysOfMonth[i];
    }
    days += day;

    cout << year << "年" << month << "月" << day << "日是该年的第" << days << "天。" << endl;

    return 0;
}

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

判断是否闰年,以及每个月的天数

#include <iostream>
using namespace std;
int main()
{
    int md[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    int year,month,day,days=0;
    cin>>year>>month>>day;
    for(int i=1;i<month;i++)
        days += md[i-1];
    if(month > 2)
    {
        if((year%400==0) || ((year%4==0) && (year%100 !=0)))
             days++;
    }
    days += day;
    cout<<days;
}