用C语言编译,输入年份和月份,用空格隔开,计算这一年这个月有多少天
时间: 2024-10-25 09:13:33 浏览: 13
C语言案例:键盘输入年月日,计算这一天是这一年的第几天.docx
在C语言中,你可以使用`<stdio.h>`库中的`scanf`函数读取用户的输入,然后根据给定的年份和月份来确定该月的具体天数。这里我们假设你希望处理的是公历(即格里高利历),并且不考虑闰年规则,因为闰年的判断比较复杂。对于非闰年的普通月份(1月、3月、5月、7月、8月、10月、12月)天数都是固定的,而2月的天数为28天。
以下是一个简单的程序示例:
```c
#include <stdio.h>
int main() {
int year, month, days_in_month;
printf("请输入年份(四位数)和月份(1-12),用空格隔开:");
scanf("%d %d", &year, &month);
// 非闰年的普通月份天数
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days_in_month = 31;
break;
// 2月不是特殊闰年的情况
case 2:
days_in_month = 28;
break;
// 其他月份的天数
default:
printf("错误:月份应为1到12。\n");
return 1; // 返回错误状态
}
// 对于闰年的2月,添加额外一天
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
days_in_month = 29;
}
printf("在%d年,%d月有%d天。\n", year, month, days_in_month);
return 0;
}
```
当用户运行此程序时,他们会被提示输入年份和月份。这个程序会简单地根据月份给出相应的天数,但没有处理闰年的情况。如果你需要更精确地处理闰年,你需要引入闰年的检查逻辑,这通常涉及闰年规则:四年一闰,百年不闰,四百年再闰。
阅读全文