当前位置:首页 C++ > 正文

C++编写程序,从键盘输入年月日,判断是当年的第几天

作者:野牛程序员:2023-06-20 08:17:34 C++阅读 2728

以下是一个使用C++编写的程序,它接受从键盘输入的年、月和日,并判断是当年的第几天:

#include <iostream>

bool isLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

int getDayOfYear(int year, int month, int day) {
    int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

    // 检查是否是闰年,并修改二月的天数
    if (isLeapYear(year)) {
        daysInMonth[1] = 29;
    }

    int dayOfYear = 0;
    for (int i = 0; i < month - 1; ++i) {
        dayOfYear += daysInMonth[i];
    }
    dayOfYear += day;

    return dayOfYear;
}

int main() {
    int year, month, day;
    std::cout << "请输入年份:";
    std::cin >> year;
    std::cout << "请输入月份:";
    std::cin >> month;
    std::cout << "请输入日期:";
    std::cin >> day;

    int dayOfYear = getDayOfYear(year, month, day);
    std::cout << year << "年" << month << "月" << day << "日是当年的第 " << dayOfYear << " 天。" << std::endl;

    return 0;
}

这个程序首先定义了一个isLeapYear函数来判断是否是闰年。然后,getDayOfYear函数根据每个月的天数计算出给定日期是当年的第几天。最后,在main函数中,程序会提示用户输入年份、月份和日期,并调用getDayOfYear函数来获取结果,并将结果输出到屏幕上。

请注意,此程序假设用户提供的输入是有效的,即不会输入无效的日期,如不存在的日期或月份超出范围。在实际应用中,你可能需要添加额外的输入验证来确保输入的有效性。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击