题目描述 输入一个字符判断是星期几。请根据星期几的英文单词第一个大写字母来判断,并循环输入,当输入’Y’时退出程序。如果第一个输入的字符为大写的’W’,则输出“Wednesday”;若为大写的’S’,则需要考虑输入的第二个字符,如果输入的第二个字符是’u’,则输出“Sunday”,若为’a’,则输出”Saturday”,然后从u或a之后输入的字符继续判断并输出;如果输入了一个不匹配的字符,就针对大写的’S’输出“Wrong data”,然后从这个不匹配的字符开始继续判断输出。 输入 连续输入多个字符,最后以’Y’结束。 输出 输出每个字符对应的星期几英文单词(若输入不匹配字符,则输出”Wrong data”)。 样例输入 TTuFL&WY 样例输出 Wrong data Tuesday Friday Wrong data Wrong data Wednesday 提示 提示:输入的最后一个字符必须是’Y’,以表示退出程序。多个字符之间不要有回车键。.用C语言编写程序
时间: 2024-02-12 07:08:00 浏览: 40
这是一个比较典型的字符匹配问题,可以使用 switch 语句来解决。具体实现如下:
```c
#include <stdio.h>
int main() {
char c;
while (1) {
scanf("%c", &c);
if (c == 'Y') {
break; // 输入 Y 退出程序
}
switch (c) {
case 'M':
printf("Monday\n");
break;
case 'W':
printf("Wednesday\n");
break;
case 'F':
printf("Friday\n");
break;
case 'S':
scanf("%c", &c);
switch (c) {
case 'u':
printf("Sunday\n");
break;
case 'a':
printf("Saturday\n");
break;
default:
printf("Wrong data\n");
break;
}
break;
case 'T':
scanf("%c", &c);
if (c == 'u') {
printf("Tuesday\n");
} else if (c == 'h') {
printf("Thursday\n");
} else {
printf("Wrong data\n");
}
break;
default:
printf("Wrong data\n");
break;
}
}
return 0;
}
```
注意,在读取输入字符时,需要使用 `scanf("%c", &c)` 而不是 `scanf("%s", &c)`。同时,在输入字符后,还要再读取一个字符,判断是否为 'u' 或 'a'。