c语言中 一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。现在要求从键盘上输入一个年份和月份,输出其对应的天数。 输入 年分和月份,空格隔开。 输出
时间: 2024-10-14 14:04:30 浏览: 24
在C语言中,你可以通过条件判断来计算给定年份和月份的天数。以下是一个简单的示例程序,它会根据用户输入的年份和月份输出对应天数:
```c
#include <stdio.h>
int main() {
int year, month, days;
// 输入年份和月份
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 = 31; // 这些月份通常有31天
break;
case 4: // 四月
case 6: // 六月
case 9: // 九月
case 11: // 十一月
days = 30; // 这些月份一般有30天
break;
case 2: // 二月
if (is_leap_year(year)) { // 判断是否为闰年
days = 29;
} else {
days = 28;
}
break;
default: // 非法月份
printf("错误的月份输入!\n");
return 1; // 结束程序并返回错误
}
printf("给定年份%d和月份%d,该月有%d天。\n", year, month, days);
return 0;
}
// 辅助函数判断是否为闰年
bool is_leap_year(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0)
return true;
else
return false;
} else
return true;
} else
return false;
}
```
当你运行这个程序时,它会提示用户输入年份和月份,然后输出相应的天数。注意,这个程序仅适用于标准的公历规则,即闰年每四年一次,但是能被100整除的年份不是闰年,除非它也能被400整除。如果需要处理更复杂的历法系统,如儒略历或伊斯兰历,你需要做更多的修改。
阅读全文