c语言用数组判断闰年
时间: 2024-12-25 16:08:00 浏览: 0
在 C 语言中,判断闰年的经典算法并不需要使用数组,因为数组的主要作用是用来存储数据并进行操作,而不是用于条件判断。但是如果你想通过一个数组来模拟这个过程,比如记录每个年份是否是闰年,那么可以创建一个布尔类型的数组,长度从公元1到你需要判断的年份。
下面是一个简单的示例,展示了如何使用数组来存储闰年信息,但实际上数组在这里并不是必需的,直接编写函数会更简洁:
```c
#include <stdio.h>
#define ARRAY_LENGTH 200 // 假设我们要检查最近200年的闰年
int is_leap_year[ARRAY_LENGTH]; // 无实际用途,仅用于演示
// 初始化数组,将小于1900或能被100整除但不能被400整除的年份标记为非闰年
void init_array() {
for (int i = 0; i < ARRAY_LENGTH; i++) {
int year = i + 1900;
if (year % 4 != 0 || (year % 100 == 0 && year % 400 != 0)) {
is_leap_year[i] = 0;
} else {
is_leap_year[i] = 1;
}
}
}
// 判断给定年份是否是闰年
int is_leap(int year) {
if (year >= ARRAY_LENGTH) {
printf("无法确定超过数组范围的年份 %d 是否为闰年。\n", year);
return -1; // 或者抛出异常
}
return is_leap_year[year - 1900];
}
int main() {
init_array();
int year;
printf("请输入一个年份:");
scanf("%d", &year);
if (is_leap(year)) {
printf("%d 是闰年\n", year);
} else {
printf("%d 不是闰年\n", year);
}
return 0;
}
阅读全文