编写一个程序,输入年份和月份,判断该年是否为闰年,并根据给出的月份判断季节和天数 用C++写
时间: 2024-12-14 11:28:31 浏览: 8
c++代码输入年月日,判断平年还是闰年并打印出那天是那年的第几天
5星 · 资源好评率100%
为了编写一个C++程序,用于判断给定的年份是否为闰年并确定指定月份的季节及天数,我们可以按照以下步骤进行:
首先,我们定义一个函数`isLeapYear(int year)`检查年份是否为闰年,规则是每4年一闰,但是遇到百年之年需要看是否能被400整除。例如,2000年是闰年,而1900年不是。
```cpp
bool isLeapYear(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
return year % 400 == 0;
}
return true;
}
return false;
}
```
接下来,我们需要一个函数`getSeasonAndDays(int month, int year)`来判断季节和对应月份的天数。这里假设我们知道每个月的天数,对于大部分月份,有固定的天数。例如,2月在非闰年的天数是28天,闰年的天数是29天;其他月份的天数分别为30、31天。
```cpp
void getSeasonAndDays(int month, int year, string& season, int& days) {
switch (month) {
case 12:
case 1: // January and December
season = "冬季";
days = 31;
break;
case 2: // February
if (isLeapYear(year)) {
season = "春季";
days = 29;
} else {
season = "冬季";
days = 28;
}
break;
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: // March, May, July, August, October, December
season = "夏季";
days = 31;
break;
case 4:
case 6:
case 9:
case 11: // April, June, September, November
season = "秋季";
days = 30;
break;
}
}
```
最后,将这两个函数结合在一起,让用户输入年份和月份,然后打印出结果:
```cpp
#include <iostream>
#include <string>
int main() {
int year, month;
std::cout << "请输入年份: ";
std::cin >> year;
std::cout << "请输入月份(1-12): ";
std::cin >> month;
std::string season;
int days;
getSeasonAndDays(month, year, season, days);
std::cout << "年份 " << year << " 是闰年吗? ";
if (isLeapYear(year)) {
std::cout << "是" << std::endl;
} else {
std::cout << "否" << std::endl;
}
std::cout << "月份是:" << season << ", 天数是:" << days << std::endl;
return 0;
}
```
阅读全文