给出公元元年到公元3000年之间的一个年份,判断是否闻年,要求对输入的年份进行合法性判断。用c语言表达
时间: 2024-10-18 17:19:57 浏览: 25
在 C 语言中,你可以通过创建一个函数来实现这个功能。首先,你需要检查输入的年份是否满足闰年的规则,然后判断它是否在公元元年至公元3000年之间。以下是简单的 C 代码示例:
```c
#include <stdbool.h>
// 判断是否为闰年
bool isLeapYear(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;
}
// 检查年份的有效性
bool isValidYear(int year, int startYear, int endYear) {
if (year >= startYear && year <= endYear) {
return isLeapYear(year);
} else {
return false; // 年份不在指定范围内
}
}
int main() {
int inputYear = 2000; // 用户输入的年份
int startDate = 1; // 公元元年
int endDate = 3000; // 公元3000年
if (isValidYear(inputYear, startDate, endDate)) {
printf("%d年是合法的,并且是闰年。\n", inputYear);
} else {
printf("%d年是非法的,或者不是闰年。\n", inputYear);
}
return 0;
}
```
在这个程序中,`isLeapYear` 函数用于判断给定的年份是否为闰年,`isValidYear` 函数则会检查年份是否在指定范围并同时是闰年。在 `main` 函数中,你可以将 `inputYear` 替换为你想测试的具体年份。
阅读全文