c语言编写 输入格式: 为两个用空格分隔的正整数year和month,它们分别代表年份和月份。 输入保证合法,用int型存储即可。 输出格式: 为year年month月的天数。
时间: 2024-10-11 18:11:13 浏览: 33
在C语言中,编写一个程序来计算给定年月的天数可以根据公历规则来实现,例如闰年的判断和不同月份天数的确定。以下是一个简单的示例:
```c
#include <stdio.h>
int is_leap_year(int year) {
if (year % 4 != 0)
return 0;
else if (year % 100 != 0)
return 1;
else if (year % 400 != 0)
return 0;
else
return 1;
}
int days_in_month(int month, int year) {
static const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 标准非闰年的月份数量
return is_leap_year(year) ? days_in_month[month] : days_in_month[month];
}
int main() {
int year, month;
// 从标准输入读取年月
scanf("%d %d", &year, &month);
// 计算并输出天数
printf("%d年%d月共有 %d 天。\n", year, month, days_in_month(month, year));
return 0;
}
```
这个程序首先定义了一个辅助函数`is_leap_year()`来检查是否为闰年,然后在`days_in_month()`函数中基于闰年和平年调整每个月的天数。在`main()`函数中,读入用户输入的年月,并输出对应的天数。
阅读全文