编写一C语言程序,计算任意输入的两个年份之间一共有多少个闰年(包括这两个年份)输入格式: 年份1年份2(年份1<年份2)输出格式:一个整数
时间: 2024-11-16 16:20:22 浏览: 11
the-kind-of-year.rar_The Year
编写一个C语言程序来计算两个给定年份之间的闰年总数,可以按照以下步骤进行:
首先,我们需要了解闰年的规则:
1. 能被4整除的年份是闰年,除非它能被100整除;
2. 但是,如果这样的年份能被400整除,它依然是闰年。
接下来是C语言代码实现:
```c
#include <stdio.h>
// 判断是否为闰年的辅助函数
int is_leap_year(int year) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
return 1; // 是闰年
} else {
return 0; // 非闰年
}
}
// 计算两个年份间闰年数的主函数
int count_leap_years(int start_year, int end_year) {
int leap_years = 0;
for (int i = start_year; i <= end_year; ++i) {
if (is_leap_year(i)) {
leap_years++;
}
}
return leap_years;
}
int main() {
int start_year, end_year;
printf("请输入起始年份 (年份1): ");
scanf("%d", &start_year);
printf("请输入结束年份 (年份2): ");
scanf("%d", &end_year);
// 确保年份1小于年份2
if (start_year > end_year) {
int temp = start_year;
start_year = end_year;
end_year = temp;
}
int leap_years_count = count_leap_years(start_year, end_year);
printf("从 %d 到 %d 之间有 %d 个闰年.\n", start_year, end_year, leap_years_count);
return 0;
}
```
当你运行这个程序并输入两个年份时,它将计算并显示在这两个年份内的闰年数量。例如,如果你输入2000和2020,它会返回19,因为这10年间有19个闰年(2000、2004、2008、2012、2016、2020)。
阅读全文