题目要求输入一个年份year和月份month,输出该月有多少天(考虑闰年)。提示:如果年份能被400整除,则它是闰年;如果能被4整除但不能被100整除,也是闰年,否则不是闰年。输入格式为任意符合范围(1月~12月)的月份和年份(1900年~9999年)年份,两个值之间空格分隔。c语言代码
时间: 2024-02-19 11:02:40 浏览: 91
控制台下编写的电子日历
好的,以下是一个实现题目要求的C语言代码:
```c
#include <stdio.h>
int main() {
int year, month, days;
scanf("%d %d", &year, &month);
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) { // 判断是否闰年
if (month == 2) { // 二月特判
days = 29;
} else if (month == 4 || month == 6 || month == 9 || month == 11) { // 30天的月份
days = 30;
} else { // 31天的月份
days = 31;
}
} else { // 不是闰年
if (month == 2) { // 二月特判
days = 28;
} else if (month == 4 || month == 6 || month == 9 || month == 11) { // 30天的月份
days = 30;
} else { // 31天的月份
days = 31;
}
}
printf("%d\n", days);
return 0;
}
```
这个程序首先通过 `scanf()` 函数获取用户输入的年份和月份,然后根据题目中给出的闰年判断规则来判断输入的年份是否是闰年。如果是闰年,则二月份有29天,否则是28天。对于其他月份,根据每个月的天数来输出结果。
注意,由于题目中要求输入的月份和年份必须符合范围(1月~12月和1900年~9999年),所以我们不需要进行输入范围检查。
阅读全文