输入年月输出年月天数,c语言
时间: 2024-09-11 10:06:46 浏览: 53
c语言代码,输入年月日计算天数
在C语言中,要计算给定年月的总天数,需要考虑到闰年的规则。下面是一个简单的例子,这个函数假设输入的是月份的1位数字(01表示一月,12表示十二月):
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为闰年
bool is_leap_year(int year) {
if (year % 4 != 0) return false;
if (year % 100 != 0) return true;
if (year % 400 != 0) return false;
return true;
}
// 计算指定年份和月份的天数
int days_in_month(int year, int month) {
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: // 31天
return 31;
case 4: case 6: case 9: case 11: // 30天
return 30;
case 2: // 如果是闰年,则2月有29天,否则28天
return is_leap_year(year) ? 29 : 28;
default:
// 非法输入
return -1; // 或者抛出一个错误
}
}
int main() {
int year, month;
printf("请输入年份和月份(格式:yyyy mm): ");
scanf("%d %d", &year, &month);
if (month >= 1 && month <= 12) { // 检查输入的合法性
int total_days = days_in_month(year, month);
printf("给定年月 (%d-%d) 的总天数是: %d\n", year, month, total_days);
} else {
printf("无效的月份!\n");
}
return 0;
}
```
在这个示例中,用户会被提示输入年份和月份,然后`days_in_month`函数会根据输入计算并返回总天数。注意,这个程序假设用户输入的日期合法,实际应用中可能需要增加更多的错误检查。
阅读全文