用c语言 题目描述 编写函数,求某年某月的天数,即该月的最大日数。 函数接口定义: int MaxDayMonth(int year, int month); 说明:参数 year 和 month 为年份和月份,若参数正确有效,则函数值为该月的最大日数, 否则为 0。 裁判测试程序样例: #include <stdio.h> int MaxDayMonth(int year, int month); int main() { int y, m; scanf("%d%d", &y, &m); printf("%d\n", MaxDayMonth(y, m)); return 0; } 输入样例 1: 2021 12 输出样例 1: 31 输入样例 2: 2023 2 输出样例 2: 28 输入样例 3: 2020 2 输出样例 3: 29
时间: 2024-03-13 19:43:51 浏览: 123
C语言学习 输出每个月的天数
以下是用 C 语言编写的求某年某月天数的函数 MaxDayMonth:
```c
int MaxDayMonth(int year, int month) {
int maxDay;
switch (month) {
case 2: // 二月份特判
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
maxDay = 29;
} else {
maxDay = 28;
}
break;
case 4:
case 6:
case 9:
case 11: // 30天的月份
maxDay = 30;
break;
default: // 31天的月份
maxDay = 31;
break;
}
return maxDay;
}
```
该函数接收两个参数 `year` 和 `month`,表示要求的年份和月份。根据年份和月份,利用 switch 语句判断该月份的最大日数,并返回该值。
在主函数中,可以使用该函数来求输入的年份和月份的最大日数。完整代码如下:
```c
#include <stdio.h>
int MaxDayMonth(int year, int month);
int main() {
int y, m;
scanf("%d%d", &y, &m);
int maxDay = MaxDayMonth(y, m);
if (maxDay == 0) {
printf("Invalid input!");
} else {
printf("%d", maxDay);
}
return 0;
}
int MaxDayMonth(int year, int month) {
int maxDay;
switch (month) {
case 2: // 二月份特判
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
maxDay = 29;
} else {
maxDay = 28;
}
break;
case 4:
case 6:
case 9:
case 11: // 30天的月份
maxDay = 30;
break;
default: // 31天的月份
maxDay = 31;
break;
}
return maxDay;
}
```
如果输入的年份或月份不合法,则输出 Invalid input!。
阅读全文