19.(简答题)-|||-天数判断。-|||-题目描述-|||-题目内容:编写程序,从键盘上输入年份和月份,计算并输出这一年的这一月共有多少天。输入样例:2019-3输出样例:31用c语言
时间: 2024-10-21 11:03:20 浏览: 48
《通信原理》期末简答题-汇总.docx
在C语言中,判断一年中某个月份的天数,我们需要考虑闰年和平年的规则。以下是简单的步骤:
1. 首先检查是否为闰年:
- 如果年份能被4整除但不能被100整除,或者可以被400整除,则是闰年。
2. 然后根据月份确定天数:
- 一月和二月:一般情况下一月有31天,二月有28天(闰年则有29天)。
- 三月至十二月:都是30天或31天,具体取决于月份。
以下是示例代码片段:
```c
#include <stdio.h>
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int year, month;
// 输入年份和月份
printf("请输入年份(如2019)和月份(如3): ");
scanf("%d-%d", &year, &month);
// 检查是否为闰年
if (is_leap_year(year)) {
if (month == 2) {
printf("%d-%d: %d\n", year, month, 29); // 闰年的2月有29天
} else if (month <= 2) {
printf("%d-%d: %d\n", year, month, 31); // 1月、2月有31天
} else {
printf("%d-%d: %d\n", year, month, 30); // 其他非2月的月份有30天
}
} else { // 平年
if (month == 2) {
printf("%d-%d: %d\n", year, month, 28); // 平年的2月有28天
} else {
printf("%d-%d: %d\n", year, month, (month > 7) ? 30 : 31); // 根据月份判断其他月份的天数
}
}
return 0;
}
```
阅读全文