要求用switch语句实现! 假如某月的1日是星期三,那么输入该月中的日期,要求输出对应的星期数。如输入3,则输出Friday。C语言
时间: 2023-08-31 17:33:54 浏览: 165
输入一个日期,可以计算出这个日期是星期几的C语言程序
3星 · 编辑精心推荐
### 回答1:
中的代码实现如下:
```
#include <stdio.h>
int main() {
int date;
printf("Please input the date: ");
scanf("%d", &date);
switch (date % 7) {
case 1: printf("Wednesday\n"); break;
case 2: printf("Thursday\n"); break;
case 3: printf("Friday\n"); break;
case 4: printf("Saturday\n"); break;
case 5: printf("Sunday\n"); break;
case 6: printf("Monday\n"); break;
case 0: printf("Tuesday\n"); break;
default: printf("Invalid date!\n"); break;
}
return 0;
}
```
该程序首先读入一个整数日期,然后使用 switch 语句来根据余数对应到星期数,并输出相应的结果。余数为 1 表示这一天是星期三,转换到星期数时应该再加上 2,因此将取模结果与 7 相减得到对应的星期数。程序还加入了默认情况和错误提示,以提高程序的健壮性。
### 回答2:
假设星期三为该月1日,根据输入的日期,使用switch语句判断对应的星期数。
```c
#include <stdio.h>
int main() {
int date;
printf("请输入日期:");
scanf("%d", &date);
int week = (date - 1) % 7; // 计算日期对应星期数的偏移量
switch (week) {
case 0:
printf("星期三\n");
break;
case 1:
printf("星期四\n");
break;
case 2:
printf("星期五\n");
break;
case 3:
printf("星期六\n");
break;
case 4:
printf("星期日\n");
break;
case 5:
printf("星期一\n");
break;
case 6:
printf("星期二\n");
break;
}
return 0;
}
```
运行程序后,输入日期,程序会根据输入的日期输出对应的星期数。例如,输入3,则输出"星期五"。
### 回答3:
要用switch语句实现这个功能,可以先根据输入的日期计算出对应的星期数,再用switch语句将对应的星期数输出。
首先,根据题目给出的信息,这个月的1号是星期三,我们可以假设计算出输入日期与1号之间相差的天数。假设输入日期为n,那么相差的天数可以计算为(n-1) % 7。
接下来,我们用switch语句根据相差的天数将对应的星期数输出。因为星期的范围是从星期一到星期日,所以在switch中我们可以设置7个case分别对应这7个星期数。由于星期数是连续的,对应关系也是固定的,所以在每个case中我们只需要输出对应的星期数。
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int date;
int day_of_week;
printf("请输入日期:");
scanf("%d", &date);
day_of_week = (date - 1) % 7;
switch (day_of_week) {
case 0:
printf("星期一\n");
break;
case 1:
printf("星期二\n");
break;
case 2:
printf("星期三\n");
break;
case 3:
printf("星期四\n");
break;
case 4:
printf("星期五\n");
break;
case 5:
printf("星期六\n");
break;
case 6:
printf("星期日\n");
break;
default:
printf("输入的日期无效\n");
break;
}
return 0;
}
```
以上代码会先要求用户输入一个日期,然后根据输入的日期计算相差的天数,再使用switch语句将对应的星期数输出。例如,输入3时,输出为星期四。
阅读全文