编写函数,判断给定的年份是否为闰年,并在主函数中输出键盘输入的两个年份间(如2001 至2099 年)的所有闰年,每行输出6 个。(闰年:能被400 整除;或者能被4 整除但不能被100 整除)。函数原型为:bool is_leap_year(int year);
时间: 2024-05-02 13:19:55 浏览: 13
好的,根据您的要求,我会为您编写判断闰年的函数并在主函数中输出指定年份之间的所有闰年。以下是代码实现:
```c++
#include <iostream>
using namespace std;
bool is_leap_year(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true; // 是闰年
} else {
return false; // 不是闰年
}
}
int main() {
int start_year, end_year;
cout << "请输入起始年份(如2001):" << endl;
cin >> start_year;
cout << "请输入结束年份(如2099):" << endl;
cin >> end_year;
cout << "在" << start_year << "年至" << end_year << "年间,所有闰年为:" << endl;
int count = 0; // 计数器,每行输出6个
for (int i = start_year; i <= end_year; i++) {
if (is_leap_year(i)) {
cout << i << "\t";
count++;
if (count % 6 == 0) {
cout << endl;
}
}
}
cout << endl;
return 0;
}
```
提示:在输入年份时,如果输入的不是数字,程序会发生错误。如果需要程序健壮性更好,可以添加输入参数时的判断,或是使用异常处理机制。