c++输入年月日,判断是这年的第几天
作者:野牛程序员:2023-08-11 17:22:42 C++阅读 2927
下面是一个示例程序,展示了如何使用C++来根据输入的年、月、日来判断是这一年的第几天:
#include <iostream>
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int year, month, day;
std::cout << "请输入年份: ";
std::cin >> year;
std::cout << "请输入月份: ";
std::cin >> month;
std::cout << "请输入日期: ";
std::cin >> day;
int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (month < 1 || month > 12 || day < 1 || day > daysInMonth[month - 1]) {
std::cout << "输入的日期无效" << std::endl;
return 1;
}
if (isLeapYear(year) && month > 2) {
++day;
}
int dayOfYear = day;
for (int i = 0; i < month - 1; ++i) {
dayOfYear += daysInMonth[i];
}
std::cout << year << "年" << month << "月" << day << "日是这一年的第 " << dayOfYear << " 天" << std::endl;
return 0;
}在这个示例中,首先定义了一个 isLeapYear 函数,用于判断是否为闰年。然后,从用户输入获取年、月、日,并根据输入的日期计算出是这一年的第几天。需要注意的是,根据是否为闰年来判断二月的天数。
请注意,这个示例仅适用于公历,对于其他历法(例如农历)可能需要更复杂的算法。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++输出每个月有多少天
- 下一篇:C++从键盘输入年月,输出该月有多少天
