从键盘输入一个年份和月份,输出这个月有多少天。(用switch语句实现)
时间: 2023-09-03 10:04:45 浏览: 219
### 回答1:
```
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份和月份(格式:年 月):");
scanf("%d %d", &year, &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:
按照题目的要求,假设用户输入的年份和月份分别为year和month。首先需要判断是否是闰年,闰年的判断条件是年份能够被4整除且不能被100整除,或者能够被400整除。然后根据月份的不同,输出该月的天数。
以下是通过switch语句实现的代码:
```python
#include <iostream>
using namespace std;
int main() {
int year, month, days;
cout << "请输入年份和月份:" << endl;
cin >> year >> month;
// 判断是否是闰年
bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 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:
cout << "输入的月份有误!" << endl;
return 0;
}
cout << year << "年" << month << "月有 " << days << " 天。" << endl;
return 0;
}
```
这段代码首先使用cin从键盘输入用户给定的年份和月份,然后通过switch语句根据月份的不同,输出该月的天数。在switch语句中,对于1、3、5、7、8、10、12月,天数为31。对于4、6、9、11月,天数为30。对于2月,首先根据isLeapYear的值判断是否是闰年,如果是闰年,则天数为29,否则为28。最后,通过cout在控制台上输出结果。
### 回答3:
首先,我们可以使用scanf函数来从键盘输入年份和月份的值。
然后,我们可以使用switch语句根据月份的不同计算这个月有多少天。在这个月的情况下,我们可以通过判断年份是否为闰年来确定2月的天数。
以下是一个实现该功能的代码示例:
```c
#include <stdio.h>
int main() {
int year, month;
printf("请输入年份和月份(用空格分隔):\n");
scanf("%d %d", &year, &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((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
} else {
days = 28;
}
break;
default:
printf("请输入有效的月份。\n");
return 0;
}
printf("该月有%d天。\n", days);
return 0;
}
```
以上代码中,我们首先使用scanf函数从键盘输入年份和月份的值,并将其存储在对应的变量中。
然后,我们使用switch语句来根据月份的值来计算这个月有多少天。根据不同的月份,分别赋值给days变量。
最后,我们使用printf函数将计算得到的天数输出到屏幕上。
注意:
- 闰年的判断条件为,年份能整除4但不能整除100,或者能整除400。
- 在代码中,我们使用了if语句来判断是否为闰年。
阅读全文