用C语音编写程序,实现两字符串的连接,要求程序中不能使用库函数strcat。 【输入形式】 第一行输入一个字符串,以回车结束。 第二行输入一个字符串,以回车结束。 【输出形式】 输出连接后的字符串。 【样例输入】 I am happy 【样例输出】 I am happy
时间: 2024-02-29 12:51:18 浏览: 11
好的,我来帮你写这个程序。以下是实现代码:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
int len1 = 0, len2 = 0;
// 读入两个字符串
fgets(str1, 100, stdin);
fgets(str2, 100, stdin);
// 计算两个字符串的长度
while (str1[len1] != '\0') len1++;
while (str2[len2] != '\0') len2++;
// 把第二个字符串拼接到第一个字符串末尾
for (int i = 0; i < len2; i++) {
str1[len1 + i] = str2[i];
}
str1[len1 + len2 - 1] = '\0'; // 把新字符串的结尾置为'\0'
// 输出拼接后的字符串
printf("%s", str1);
return 0;
}
```
你可以把上面的代码复制到本地的 C 语言开发环境中,编译并运行,输入字符串后就可以得到拼接后的字符串了。
相关问题
c语言编写程序,实现两字符串的连接,要求程序中不能使用库函数strcat。 【输入形式】 第一行输入一个字符串,以回车结束。 第二行输入一个字符串,以回车结束。 【输出形式】 输出连接后的字符串。
下面是一份C语言代码实现两字符串连接的功能:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100], result[200];
int i, j;
// 输入两个字符串
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
// 将第一个字符串拷贝到结果字符串中
for (i = 0; str1[i] != '\0'; i++) {
result[i] = str1[i];
}
// 将第二个字符串拷贝到结果字符串中
for (j = 0; str2[j] != '\0'; j++) {
result[i + j] = str2[j];
}
// 结束结果字符串
result[i + j] = '\0';
// 输出结果字符串
printf("连接后的字符串为:%s\n", result);
return 0;
}
```
这个程序中,我们首先定义三个字符数组:`str1`、`str2`和`result`,分别用于存储用户输入的两个字符串和连接后的结果字符串。
接着,我们使用`scanf()`函数分别输入两个字符串。然后,我们使用`for`循环将第一个字符串拷贝到结果字符串中,再使用另一个`for`循环将第二个字符串拷贝到结果字符串中。最后,我们在结果字符串的最后一个位置加上结束符`\0`,表示这是一个字符串的结尾。
最后,我们使用`printf()`函数输出连接后的字符串。
用C语音编写程序,实现两字符串的连接,要求程序中不能使用库函数strcat。 【输入形式】 第一行输入一个字符串,以回车结束。 第二行输入一个字符串,以回车结束。 【输出形式】 输出连接后的字符串。 输入: I am happy 输出结果为: I am happy
好的,我了解您的问题。以下是用C语言编写的程序,实现两个字符串的连接,不使用库函数strcat:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
int i, j;
printf("请输入第一个字符串:\n");
fgets(str1, 100, stdin);
printf("请输入第二个字符串:\n");
fgets(str2, 100, stdin);
// 计算第一个字符串的长度
for (i = 0; str1[i] != '\0'; i++);
// 将第二个字符串连接到第一个字符串的末尾
for (j = 0; str2[j] != '\0'; j++) {
str1[i] = str2[j];
i++;
}
str1[i] = '\0'; // 在连接后的字符串末尾添加结束符
printf("连接后的字符串为:%s", str1);
return 0;
}
```
注意,上述程序中用到了fgets函数,它可以从标准输入中读取一行字符串(包括空格),并将其存储到指定的数组中。除此之外,程序中没有使用任何库函数。