用c写一个输入年份和月份,输出改年该月的天数用switch语句
时间: 2023-05-22 19:04:47 浏览: 171
好的,以下是你需要的程序:
#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("输入的月份有误!"); return 0;
}
printf("%d年%d月有%d天\n", year, month, days);
return 0;
}
希望能对你有帮助!
相关问题
【c语言】输入一个年份和月份,输出该月的天数
### 回答1:
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份和月份:\n");
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 == && year % 100 != ) || year % 400 == ) {
days = 29;
} else {
days = 28;
}
break;
default:
printf("输入的月份不合法!\n");
return ;
}
printf("%d年%d月有%d天。\n", year, month, days);
return ;
}
```
该程序首先从用户输入中读取年份和月份,然后使用 `switch` 语句根据月份计算该月的天数。对于大月份(1、3、5、7、8、10、12月),天数为31天;对于小月份(4、6、9、11月),天数为30天;对于2月份,需要判断是否为闰年,如果是闰年则有29天,否则有28天。最后输出结果。
### 回答2:
这是一个非常基础的编程问题,可以通过一个简单的流程来解决。我们需要先输入年份和月份,然后根据月份判断该月的天数。最后输出结果即可。
输入年份和月份可以通过scanf函数实现,如下:
```c
int year, month;
scanf("%d%d", &year, &month);
```
接下来就需要判断该月的天数了。我们可以通过两种方式来实现:
第一种,使用if-else语句判断:
```c
int days;
if(month == 2){ //二月判断是否润年
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
days= 29;
}else{
days= 28;
}
}else if(month == 4 || month == 6 || month == 9 || month == 11){
days=30;
}else{
days=31;
}
printf("该月天数为%d天", days);
```
第二种,使用switch语句判断:
```c
int days;
switch(month){
case 2:
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
days = 29;
}else{
days = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
printf("该月天数为%d天", days);
```
无论使用哪种方式来判断天数,最后都需要把结果输出。完整代码如下:
```c
#include <stdio.h>
int main(){
int year, month;
scanf("%d%d", &year, &month);
int days;
if(month == 2){ //二月判断是否润年
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
days= 29;
}else{
days= 28;
}
}else if(month == 4 || month == 6 || month == 9 || month == 11){
days=30;
}else{
days=31;
}
printf("该月天数为%d天", days);
return 0;
}
```
以上就是使用C语言实现输入一个年份和月份,输出该月的天数的方法。
### 回答3:
C语言是一种高级程序设计语言,它可以用来编写操作系统、编译器、数据库等应用程序。在C语言中,可以通过编程来实现各种各样的计算和处理任务,如计算某个月的天数。
对于输入一个年份和月份,输出该月的天数的问题,可以通过一些基本的算法来解决。下面我们来介绍一下如何用C语言来实现这个功能。
首先,我们需要用C语言中的输入函数scanf来获取输入的年份和月份。具体的代码如下所示:
```
int year, month, days;
scanf("%d%d", &year, &month);
```
然后,我们需要根据输入的年份和月份来判断该月的天数。在这里,我们可以使用if语句和switch语句来实现。
使用if语句的代码如下所示:
```
if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
days = 29;
else
days = 28;
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
days = 30;
else
days = 31;
```
使用switch语句的代码如下所示:
```
switch (month) {
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
days = 29;
else
days = 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
```
以上代码中,我们先判断月份是否为2月,若是,则需要根据是否为闰年来确定该月的天数。若不是2月,则判断该月是否为4月、6月、9月或者11月,因为这些月份的天数固定为30天。如果都不是,则该月的天数为31天。
最后,我们可以使用printf函数来输出结果:
```
printf("%d年%d月的天数为%d天", year, month, days);
```
至此,我们就完成了输入一个年份和月份,输出该月的天数的功能。以上代码还可以进行优化和完善,例如可以加入错误处理、输入检查等功能,使其更加完备和实用。
2. 用scant输入 年份和月份 使用 SWITCH语句 输出该月 所对应的天数(注意判断闰 年!
好的,我可以回答这个问题。以下是代码示例:
#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;
}
阅读全文
相关推荐













