请写一段程序来计算某年某月的天数。 输入格式: 为两个用空格分隔的正整数year和month,它们分别代表年份和月份。 输入保证合法,用int型存储即可。 输出格式: 为year年month月的天数。c语言
时间: 2024-10-14 16:11:52 浏览: 78
在C语言中,你可以创建一个函数来计算给定年份和月份的天数,这通常需要考虑闰年的规则以及每个月的特殊天数。这里是一个简单的示例:
```c
#include <stdio.h>
int days_in_month(int year, int month) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: // 除二月外的非闰年奇数月
return 31;
case 4: // 四月
case 6:
case 9:
case 11: // 非闰年偶数月
return 30;
// 计算闰年二月的天数
case 2:
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { // 能被4整除且不能被100整除,或者能被400整除的是闰年
return 29;
} else {
return 28; // 否则是平年,2月有28天
}
default:
return -1; // 无效的月份,返回错误代码
}
}
int main() {
int year, month;
printf("请输入年份和月份(用空格分隔): ");
scanf("%d %d", &year, &month);
if (days_in_month(year, month) >= 0) {
printf("%d年%d月有%d天\n", year, month, days_in_month(year, month));
} else {
printf("非法月份!\n");
}
return 0;
}
```
当你运行这个程序并输入年份和月份时,它会输出对应的天数。如果输入的月份不是1到12,程序将打印出"非法月份!"。请注意,在实际项目中,你可能需要添加更多的错误检查和用户交互界面。
阅读全文