输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。C语言
时间: 2024-12-28 07:39:51 浏览: 126
在C语言中,如果你需要完成这个任务,你可以首先定义一个指针数组来存储星期的信息,并初始化它。例如:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SUNDAY 0
#define MONDAY 1
#define TUESDAY 2
// ... 继续定义到SATURDAY(6)
typedef enum { WEEKDAYS } DayOfWeek;
DayOfWeek days[] = {
"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY",
"THURSDAY", "FRIDAY", "SATURDAY"
};
int main() {
int repeat;
printf("请输入一个正整数(0 < repeat < 10): ");
scanf("%d", &repeat);
for (int i = 0; i < repeat; ++i) {
char input[50];
printf("请输入你要查找的字符串: ");
fgets(input, sizeof(input), stdin); // 注意这里处理换行符
input[strcspn(input, "\n")] = '\0'; // 清理换行符
for (int j = 0; j < sizeof(days)/sizeof(days[0]); ++j) {
if (strcmp(input, days[j]) == 0) {
printf("字符串 '%s' 的序号是 %d\n", input, j);
break;
}
}
if (strcmp(input, days[j]) != 0) {
printf("字符串 '%s' 不存在于列表中,序号 -1\n", input);
}
}
return 0;
}
```
在这个程序中,用户会输入一个`repeat`次数,然后每次循环都会让用户输入一个字符串,程序会遍历指针数组查找该字符串并输出其在数组中的位置,如果找不到则输出-1。
阅读全文
相关推荐













