c语言求两个年份之间间隔多少天
时间: 2024-09-27 10:06:32 浏览: 27
在C语言中,计算两个年份之间的天数差通常涉及到闰年的判断,因为平年有365天,而闰年有366天(2月29日)。以下是一个简单的函数示例,它假设输入的是公历年份:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_leap_year(int year) {
if (year % 4 != 0) return false;
else if (year % 100 != 0) return true;
else if (year % 400 != 0) return false;
else return true;
}
int days_between_years(int start_year, int end_year) {
int total_days = 0;
for (int i = start_year; i <= end_year; ++i) {
if (is_leap_year(i)) total_days += 366;
else total_days += 365;
}
// 如果end_year比start_year大一天,需要额外加一天
if (end_year > start_year) total_days++;
return total_days;
}
int main() {
int start_year, end_year;
printf("请输入起始年份和结束年份:");
scanf("%d %d", &start_year, &end_year);
int days = days_between_years(start_year, end_year);
printf("两个年份之间的天数差是:%d 天\n", days);
return 0;
}
```
在这个例子中,`days_between_years`函数首先计算每个年份内的天数,然后加上两个年份之间相差的一天(如果end_year大于start_year)。注意这个算法假定用户输入的是正确的年份。
阅读全文