写一个从键盘上调取年和月然后计算一个月有多少天的c语言程序
时间: 2023-08-31 14:23:47 浏览: 88
键盘输入一个年和一个月,能输出该月总共有多少天
### 回答1:
```c
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
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 ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
break;
default:
printf("输入有误!\n");
return 0;
}
printf("%d年%d月有%d天。\n", year, month, days);
return 0;
}
```
### 回答2:
下面是一个调取年和月份,并计算该月份有多少天的C语言程序:
```c
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
// 判断是否是闰年
int isLeapYear;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
isLeapYear = 1; // 是闰年
} else {
isLeapYear = 0; // 不是闰年
}
// 计算天数
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:
days = isLeapYear ? 29 : 28;
break;
default:
printf("输入的月份无效!\n");
return 0;
}
printf("%d年%d月有%d天。\n", year, month, days);
return 0;
}
```
运行程序后,会依次要求输入年份和月份,然后根据输入的年份和月份计算该月份有多少天,并输出结果。程序会通过判断年份是否为闰年来确定二月的天数,其他月份根据常规的月份天数来计算。如果输入的月份无效(即不在1-12之间),则会给出提示信息。
### 回答3:
```c
#include <stdio.h>
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
int numberOfDays(int year, int month) {
int days;
if (month == 2) {
days = isLeapYear(year) ? 29 : 28;
}
else if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
}
else {
days = 31;
}
return days;
}
int main() {
int year, month;
printf("请输入年份和月份:");
scanf("%d%d", &year, &month);
int days = numberOfDays(year, month);
printf("%d年%d月有%d天\n", year, month, days);
return 0;
}
```
运行程序后,程序会要求用户输入年份和月份,然后调用`numberOfDays`函数计算该年该月有多少天,并将结果打印出来。该程序根据闰年的定义,使用了`isLeapYear`函数来判断某一年是否是闰年。根据输入的月份,使用条件判断语句来确定该月有多少天。
阅读全文