在C语言中,可以使用`scanf`函数来输入年月。以下是一个简单的示例代码,展示了如何输入年份和月份,并判断是否为闰年以及计算该月的天数:
```c
include
int inputYear();
int inputMonth();
int isLeapYear(int year);
int daysInMonth(int month, int year);
int main() {
int year, month, day;
// 输入年、月和日
year = inputYear();
month = inputMonth();
day = inputDay();
// 判断是否为闰年并输出结果
if (isLeapYear(year)) {
printf("%d年是闰年。\n", year);
} else {
printf("%d年不是闰年。\n", year);
}
// 计算该月的天数并输出结果
printf("该月有%d天。\n", daysInMonth(month, year));
return 0;
}
int inputYear() {
int year;
printf("请输入年份: ");
scanf("%d", &year);
return year;
}
int inputMonth() {
int month;
printf("请输入月份: ");
scanf("%d", &month);
return month;
}
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int daysInMonth(int month, int year) {
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:
printf("输入的月份数据错误\n");
days = -1; // 返回一个错误标志
break;
}
return days;
}
```
代码说明:
输入年、月和日
`inputYear()` 函数用于输入年份。
`inputMonth()` 函数用于输入月份。
判断是否为闰年
`isLeapYear(int year)` 函数用于判断给定的年份是否为闰年。
计算某月的天数
`daysInMonth(int month, int year)` 函数根据给定的年份和月份计算该月的天数。
使用方法:
1. 编译并运行上述代码。
2. 在运行程序时,按照提示输入年份和月份。
3. 程序将输出该年份是否为闰年以及该月的天数。
希望这个示例能帮助你理解如何在C语言中输入年月并进行相关计算。