c语言 本题要求实现一个简单函数,能计算给定的年份和月份的天数。使得可以利用该函数,输出给定年份中每个月的天数。其中1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月平年有28天,闰年有29天。判断闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。
时间: 2023-06-10 13:05:17 浏览: 242
好的,根据您的要求,我来为您介绍如何用 C 语言编写一个计算年份和月份天数的函数。
以下是示例代码:
```c
#include <stdio.h>
// 判断是否为闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
return 1; // 是闰年
else
return 0; // 不是闰年
}
// 计算给定月份的天数
int getDaysOfMonth(int year, int month) {
int days;
switch (month) {
case 2:
days = isLeapYear(year) ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
return days;
}
// 输出给定年份中每个月的天数
void printDaysOfYear(int year) {
int month;
for (month = 1; month <= 12; month++) {
int days = getDaysOfMonth(year, month);
printf("%4d-%02d: %d\n", year, month, days);
}
}
int main() {
int year;
printf("请输入年份:");
scanf("%d", &year);
printf("%d 年的每个月的天数如下:\n", year);
printDaysOfYear(year);
return 0;
}
```
以上代码中,我们首先使用 `isLeapYear` 函数判断给定的年份是否为闰年。然后根据月份的不同,使用 `getDaysOfMonth` 函数计算出该月的天数。最后使用 `printDaysOfYear` 函数输出每个月的天数。
运行程序后,输入年份后即可输出该年份中每个月的天数。
关于更多 C 语言编程技巧和开发实践,可以参考 CSDN ChitGPT 的其他文章。