用c语言编写使用 gets()函数输入一个任意字符的字符串,一个字符串由若干个部分组成,每部分之 间用一个或多个空格隔开,要求提取每部分的字符存到一个二维字符数组内,并且输出 二维数组中的数据。
时间: 2024-10-21 07:11:11 浏览: 16
在C语言中,你可以使用`gets()`函数来获取用户输入的一行字符串,然后通过循环和分割处理,将字符串拆分成各个部分并存储到二维字符数组中。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_PARTS 10 // 假设最多有10部分
#define MAX_LINE_LENGTH 100 // 每行最大长度
// 定义二维字符数组结构
char parts_array[MAX_PARTS][MAX_LINE_LENGTH];
int main() {
char line[MAX_LINE_LENGTH]; // 用于存放整个输入的字符串
int part_count = 0; // 记录部分数量
char* current_part = line; // 当前正在处理的部分
// 使用gets()读取一行输入
fgets(line, sizeof(line), stdin);
// 移除字符串尾部的换行符
if (line[strlen(line) - 1] == '\n') {
line[strlen(line) - 1] = '\0';
}
// 分割字符串并存储到二维数组
while (*current_part != '\0' && part_count < MAX_PARTS) {
// 找到空格分隔的位置
char* space = strchr(current_part, ' ');
// 如果找到了空格,则截取部分并存储
if (space) {
*space = '\0';
strcpy(parts_array[part_count], current_part); // 将当前部分复制到二维数组
part_count++; // 增加部分计数
current_part = space + 1; // 更新当前部分位置
} else { // 如果没找到空格,意味着已经到达了最后一部分
strcpy(parts_array[part_count], current_part); // 存储剩余部分
break;
}
}
// 输出二维数组的内容
for (int i = 0; i < part_count; i++) {
printf("Part %d: %s\n", i+1, parts_array[i]);
}
return 0;
}
阅读全文