输入三个字符串 用二维数组输入
时间: 2024-01-31 21:03:09 浏览: 98
好的,以下是一个示例代码,可以输入三个字符串并存储到一个二维数组中:
```python
# 创建一个 3xN 的二维数组
n = 50
arr = [[0 for j in range(n)] for i in range(3)]
# 输入三个字符串
for i in range(3):
s = input("请输入第%d个字符串:" % (i+1))
# 将字符串存储到二维数组中
for j in range(len(s)):
arr[i][j] = s[j]
# 输出二维数组
print("存储的二维数组为:")
for i in range(3):
for j in range(n):
if arr[i][j] == 0:
break
print(arr[i][j], end="")
print()
```
运行结果:
```
请输入第1个字符串:hello
请输入第2个字符串:world
请输入第3个字符串:python
存储的二维数组为:
hello
world
python
```
相关问题
C语言字符串数组二维数组
### C语言中字符串数组与二维数组的使用
#### 字符串数组的定义和初始化
在C语言中,字符串数组是指能够存储多个字符串的数据结构。每个字符串实际上是一个以空字符 `\0` 结尾的一维字符数组[^2]。
```c
char stringArray[3][10] = {
"hello",
"world",
"example"
};
```
上述代码创建了一个名为 `stringArray` 的三维字符数组,其中每一行代表一个独立的字符串,并且每行最多可容纳9个字符加上终止符 `\0`。
#### 访问字符串数组中的元素
访问字符串数组内的单个字符或整个字符串非常直观:
```c
printf("%s\n", stringArray[0]); // 输出第一个字符串 "hello"
printf("%c\n", stringArray[1][4]); // 输出第二个字符串第五个位置上的字母 'd'
```
这段程序展示了如何打印特定索引处的整条字符串以及指定位置的一个单独字符。
#### 初始化二维数组并作为多字符串容器
除了专门用于保存字符串的字符数组外,在某些情况下也可以利用普通的二维数组来实现相同的功能。例如:
```c
#include <stdio.h>
int main() {
char twoDArray[][8] = {"apple", "banana"};
printf("First word is %s.\nSecond word is %s.", twoDArray[0], twoDArray[1]);
}
```
这里声明了一个大小为 `[2][8]` 的二维数组 `twoDArray` 来储存两个单词 `"apple"` 和 `"banana"`。注意这里的第二维度长度应足够大以便包含最长的那个字符串及其结束标记 `\0`[^1]。
#### 处理动态分配内存下的字符串数组
当预先不知道确切数量或者长度时,则需考虑动态分配空间给这些变量。这通常涉及到标准库函数如 `malloc()` 或者更高级别的封装版本比如 `strdup()` 函数[^3]。
```c
// 动态创建字符串数组的例子
const int numStrings = 5;
size_t maxLength = 50;
char **dynamicStringArray = (char**) malloc(numStrings * sizeof(char*));
for(int i=0;i<numStrings;++i){
dynamicStringArray[i]=(char*)malloc((maxLength+1)*sizeof(char)); // 额外的空间留给 '\0'
}
free(dynamicStringArray); // 清除不再使用的资源
```
此片段说明了怎样安全地申请足够的连续区块供后续操作之用;同时也提醒开发者记得适时释放已分配却不再需要的部分以防泄漏问题的发生。
c风格字符串 字符串 字符数组 二维字符数组
C风格字符串是指以空字符 '\0' 结尾的字符数组,也称为以 null 结尾字符串。C语言中没有字符串类型,而是以字符数组来表示字符串。
字符串是由一系列字符组成的,而字符数组就是这些字符的有序集合,可以用来存储和操作字符串。
二维字符数组是一种包含多个字符串的数组。它是由多个一维字符数组组成的,每个一维字符数组都表示一个字符串。可以用于存储和操作多个字符串。
例如,以下是一个C风格字符串的声明和初始化:
```c
char str[] = "hello world"; // 自动添加 '\0' 结尾符号
```
以下是一个字符数组的声明和初始化:
```c
char arr[10] = {'h', 'e', 'l', 'l', 'o', '\0'}; // 显式添加 '\0' 结尾符号
```
以下是一个二维字符数组的声明和初始化:
```c
char strs[3][10] = {"hello", "world", "c language"}; // 三个长度为10的一维字符数组
```
阅读全文
相关推荐















