m0_75173153 2023-04-08 10:58 采纳率: 0%
浏览 20

计算年、月、日输出该年第几天

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

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-04-08 11:00
    关注
    #include <iostream>
    using namespace std;
    
    bool isLeapYear(int year) {  // 判断是否为闰年
        if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
            return true;
        }
        return false;
    }
    
    int getDayNum(int year, int month, int day) {  // 计算该日期是该年的第几天
        int day_num = 0;
        int days_of_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
        if (isLeapYear(year)) {  // 处理闰年的二月
            days_of_month[1] = 29;
        }
    
        for (int i = 0; i < month - 1; i++) {
            day_num += days_of_month[i];
        }
    
        day_num += day;
    
        return day_num;
    }
    
    int main() {
        int year, month, day;
        cout << "请输入日期的年、月、日:" << endl;
        cin >> year >> month >> day;
    
        int day_num = getDayNum(year, month, day);
        cout << year << "年" << month << "月" << day << "日是该年的第" << day_num << "天。" << endl;
    
        return 0;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月8日