C++编写程序,从键盘输入年月日,判断是当年的第几天
作者:野牛程序员:2023-06-20 08:17:34 C++阅读 2865
以下是一个使用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

