C语言编程,请给出具体代码,定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1 表: Sunday Monday Tuesday Wednesday Thursday Friday Saturday 【输入形式】Tuesday 【输出形式】3
时间: 2024-02-10 18:04:19 浏览: 22
好的,以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
// 定义星期字符串数组
char *weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
// 获取输入的字符串
char input[20];
printf("请输入一个星期字符串:");
scanf("%s", input);
// 查找星期字符串在数组中的位置
int i, index = -1;
for (i = 0; i < 7; i++) {
if (strcmp(input, weekdays[i]) == 0) {
index = i + 1;
break;
}
}
// 输出结果
if (index == -1) {
printf("-1\n");
} else {
printf("%d\n", index);
}
return 0;
}
```
输出结果:
```
请输入一个星期字符串:Tuesday
3
```
希望能够帮到你!
相关问题
C语言将二维字符串数组里面的每行字符串拼接成一个字符串,给出具体代码
以下是将二维字符串数组里面的每行字符串拼接成一个字符串的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_ROWS 10
#define MAX_COLS 50
int main() {
char str[MAX_ROWS][MAX_COLS]; // 二维字符串数组
char result[MAX_ROWS * MAX_COLS]; // 拼接后的字符串
int i, j, k;
// 输入二维字符串数组
printf("请输入二维字符串数组:\n");
for (i = 0; i < MAX_ROWS; i++) {
fgets(str[i], MAX_COLS, stdin);
str[i][strlen(str[i]) - 1] = '\0'; // 去掉字符串末尾的换行符
}
// 拼接每行字符串
k = 0;
for (i = 0; i < MAX_ROWS; i++) {
for (j = 0; j < strlen(str[i]); j++) {
result[k++] = str[i][j];
}
}
result[k] = '\0'; // 在字符串末尾添加'\0'字符
// 输出拼接后的字符串
printf("拼接后的字符串为:%s\n", result);
return 0;
}
```
该代码首先定义了一个二维字符串数组 `str`,数组中包含 `MAX_ROWS` 行,每行最多包含 `MAX_COLS` 个字符。接着定义了一个字符串 `result`,用于存储拼接后的结果。然后通过 `fgets` 函数从标准输入中读入二维字符串数组 `str`。接下来,通过嵌套循环遍历每行字符串,将每个字符依次拼接到 `result` 字符串中。最后输出拼接后的字符串。
注意,以上代码中使用了 `fgets` 函数来读入字符串。`fgets` 函数可以读取一行字符串,并且会自动在字符串末尾添加一个换行符。因此,需要使用 `str[i][strlen(str[i]) - 1] = '\0'` 将字符串末尾的换行符替换成结束符 `\0`。
我想用c语言定义一个指针形式的字符串数组
可以这样定义一个指针形式的字符串数组:
```c
char *strArray[] = {"hello", "world", "c", "language"};
```
其中,`strArray` 是一个指针数组,每个元素都是一个指向字符串的指针。在上面的例子中,`strArray` 包含了四个字符串。
你也可以通过循环来动态地创建一个指针形式的字符串数组,例如:
```c
int size = 5;
char *strArray[size];
for (int i = 0; i < size; i++) {
strArray[i] = (char*) malloc(50 * sizeof(char));
sprintf(strArray[i], "string %d", i);
}
```
在上面的例子中,我们首先定义了一个大小为 5 的指针数组 `strArray`,然后使用循环来为每个元素分配内存,并将字符串赋值给指针数组。注意,在使用 `malloc` 分配内存之后,必须记得在程序结束之前释放这些内存。