请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续输入第二个字母。(C语言)
时间: 2024-10-17 12:07:27 浏览: 31
在C语言中,你可以通过构建一个数组来存储每个星期首字母与其对应的数字,并循环读取用户输入的字母。以下是实现这个功能的一个简单示例:
```c
#include <stdio.h>
#include <string.h> // 需要用到strlen函数获取字符串长度
// 定义一个映射,将英文缩写转成数字
const char* weekDays[8] = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
int main() {
char input[3]; // 最多接受两个字母
while (1) {
printf("请输入星期几的前两个字母 (例如'Mon'): ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
size_t len = strlen(input);
if (len > 2 || input[len - 1] != '\n') { // 检查输入长度及最后一个字符是否为换行
printf("输入过长或缺少换行,请重新输入。\n");
continue;
}
// 将输入的字符串首字母转换为大写,方便比较
input[0] = toupper(input[0]);
input[1] = toupper(input[1]);
for (size_t i = 0; i < 7; i++) { // 循环遍历一周的英文缩写
if (strncmp(weekDays[i], input, 2) == 0) { // 使用strncmp比较,防止大小写影响
printf("所输入的是 %s\n", weekDays[i]);
break;
}
}
// 如果没有匹配,询问用户是否还要继续输入
char continueInput;
printf("还想继续输入下一个字母吗? (y/n): ");
scanf(" %c", &continueInput);
if (continueInput != 'y' && continueInput != 'Y') {
break;
}
}
return 0;
}
阅读全文