c语言: 给出一个年份 y 和月份 m,求 y 年 m 月有多少天。
时间: 2024-03-26 17:41:49 浏览: 91
带参宏替换计算给定年份的二月天数_C语言_带参宏替换计算给定年份的二月天数_chapterbgn_
5星 · 资源好评率100%
可以根据平年和闰年的规律来计算 y 年 m 月有多少天。平年 2 月有 28 天,闰年 2 月有 29 天。平年和闰年的判断规则如下:
1. 年份能被4整除但不能被100整除,或者能被400整除,就是闰年。
2. 其他年份都是平年。
根据上述规则,可以编写如下代码来计算 y 年 m 月有多少天:
```c
#include <stdio.h>
int main() {
int y, m, days;
printf("请输入年份和月份:");
scanf("%d%d", &y, &m);
switch(m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
days = 29;
} else {
days = 28;
}
break;
default:
printf("输入的月份不正确!\n");
return 1;
}
printf("%d年%d月有%d天。\n", y, m, days);
return 0;
}
```
注意,这里使用了 switch-case 语句来判断月份,并且在 case 2 中嵌套了一个 if-else 语句来判断闰年。
阅读全文