编一个程序,输入3个字符串(长度均不超过30)存入一个二维的字符型数组中,将第3个字符串连接到第2个字符串之后,然后再连接到第1个字符串之后,组成新的字符串存入一维的字符型数组中,然后输出该新的字符串(说明:本题不允许使用字符串连接函数)。
时间: 2023-06-12 12:03:03 浏览: 75
PHP二维数组排序的3种方法和自定义函数分享
5星 · 资源好评率100%
下面是一个示例程序实现:
```c
#include <stdio.h>
int main() {
char str[3][31]; // 定义二维字符型数组,存储三个字符串
char new_str[91]; // 定义一维字符型数组,存储连接后的字符串(30*3+1)
// 输入三个字符串
printf("请输入三个字符串,长度均不超过30:\n");
for (int i = 0; i < 3; i++) {
scanf("%s", str[i]);
}
// 连接三个字符串
int index = 0; // 记录新字符串的位置
for (int i = 2; i >= 0; i--) { // 倒序遍历三个字符串
int j = 0;
while (str[i][j] != '\0') { // 将当前字符串中的所有字符复制到新字符串中
new_str[index++] = str[i][j++];
}
}
new_str[index] = '\0'; // 新字符串末尾加上'\0'结束符
// 输出新字符串
printf("连接后的字符串为:%s\n", new_str);
return 0;
}
```
这个程序定义了一个二维字符型数组 `str`,用于存储三个字符串,以及一个一维字符型数组 `new_str`,用于存储连接后的字符串。程序使用 `scanf()` 函数输入三个字符串,然后倒序遍历三个字符串,将每个字符串中的所有字符复制到新字符串中。最后输出新字符串。
需要注意的是,新字符串末尾需要加上结束符 `'\0'`。因为在连接字符串时,没有自动添加结束符。
阅读全文