使用c语言中的switch语句,不使用数组;完成任务:通过键盘输入年月日,输出该日是这一年的第多少天。
时间: 2024-05-15 08:15:20 浏览: 136
```
#include<stdio.h>
int main(){
int year, month, day, days = 0;
printf("请输入年月日(格式:年 月 日):\n");
scanf("%d %d %d", &year, &month, &day);
switch(month){
case 12: days += 30;
case 11: days += 31;
case 10: days += 30;
case 9: days += 31;
case 8: days += 31;
case 7: days += 30;
case 6: days += 31;
case 5: days += 30;
case 4: days += 31;
case 3: days += 28;
if((year%4==0 && year%100!=0) || year%400==0){
days += 1;
}
case 2: days += 31;
case 1: days += day;
}
printf("%d年%d月%d日是这一年的第%d天。\n", year, month, day, days);
return 0;
}
```
相关问题
使用c语言中的switch语句做到通过键盘输入年月日,输出该日是这一年的第多少天
```c
#include <stdio.h>
int main()
{
int year, month, day, days = 0;
printf("请输入年月日,用空格隔开:\n");
scanf("%d%d%d", &year, &month, &day);
switch (month)
{
case 12:
days += 30;
case 11:
days += 31;
case 10:
days += 30;
case 9:
days += 31;
case 8:
days += 31;
case 7:
days += 30;
case 6:
days += 31;
case 5:
days += 30;
case 4:
days += 31;
case 3:
days += (year%4==0&&year%100!=0)||year%400==0 ? 29 : 28;
case 2:
days += 31;
case 1:
days += day;
}
printf("%d年%d月%d日是这一年的第%d天\n", year, month, day, days);
return 0;
}
```
说明:
1. 根据月份累加天数,注意12月份不需要再加上当月天数,所以case 12没有break。
2. 判断闰年的方法是判断能否被4整除但不能被100整除,或者能被400整除。
3. 最终输出结果。
通过键盘输入年月日输出该日是这一年的多少天,C语言switch
语句实现:
```c
#include <stdio.h>
int main() {
int year, month, day, days = 0;
printf("请输入年月日(格式:年 月 日):");
scanf("%d %d %d", &year, &month, &day);
switch(month) {
case 12: days += 30;
case 11: days += 31;
case 10: days += 30;
case 9: days += 31;
case 8: days += 31;
case 7: days += 30;
case 6: days += 31;
case 5: days += 30;
case 4: days += 31;
case 3:
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
days += 29;
else
days += 28;
case 2: days += 31;
case 1: days += day;
}
printf("该日是这一年的第 %d 天\n", days);
return 0;
}
```
在switch语句中,根据月份累加天数,注意闰年判断的条件。最后输出累加得到的天数即可。
示例输入输出:
```
请输入年月日(格式:年 月 日):2022 8 15
该日是这一年的第 227 天
```
阅读全文