计算某年某月有多少天c语言
时间: 2024-10-06 15:04:04 浏览: 32
在C语言中,计算某年某月有多少天通常需要考虑闰年的情况。平年的二月有28天,而闰年的二月则有29天。一般规则是能被4整除的年份是闰年,但是能被100整除的不是闰年;然而,如果这个年份同时能被400整除,则仍然是闰年。
下面是一个简单的函数示例,用于判断给定年份是否是闰年,并计算相应月份的天数:
```c
#include <stdio.h>
int is_leap_year(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0)
return 1;
else
return 0;
} else
return 1;
}
return 0;
}
int days_in_month(int month, int year) {
switch(month) {
case 1: // January
case 3: // March
case 5: // May
case 7: // July
case 8: // August
case 10: // October
case 12: // December
return 31;
case 4: // April
case 6: // June
case 9: // September
case 11: // November
return 30;
case 2: // February
if(is_leap_year(year))
return 29;
else
return 28;
default:
return -1; // Invalid month
}
}
int main() {
int year, month;
printf("Enter a year and month: ");
scanf("%d %d", &year, &month);
if(month >= 1 && month <= 12) {
int num_days = days_in_month(month, year);
printf("The number of days in %d-%d is %d.\n", year, month, num_days);
} else {
printf("Invalid month!\n");
}
return 0;
}
```
阅读全文