在C語言中,可以通過編寫函數來計算某年某月的天數。以下是一個示例程序:
#include <stdio.h>
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1; // 是閏年
} else {
return 0; // 不是閏年
}
}
int getDaysInMonth(int year, int month) {
int days;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if (isLeapYear(year)) {
days = 29;
} else {
days = 28;
}
break;
default:
days = -1; // 無效的月份
break;
}
return days;
}
int main() {
int year, month;
printf("請輸入年份和月份(用空格隔開):");
scanf("%d %d", &year, &month);
int days = getDaysInMonth(year, month);
if (days == -1) {
printf("無效的月份!\n");
} else {
printf("%d年%d月的天數為:%d\n", year, month, days);
}
return 0;
}
在上述程序中,isLeapYear()
函數用于判斷某年是否是閏年,getDaysInMonth()
函數根據傳入的年份和月份計算天數。程序首先從用戶輸入中獲取年份和月份,然后調用 getDaysInMonth()
函數計算天數并打印結果。