用C语言。从键盘上输入两个字符串(长度不大于20)和整数n(0<n<=20),要求将第二个字符串插在第一个字符串的n位置开始处并输出。 示例如第一个字符串为"you are ok." 第二个字符串为"fine and " 输入的整数为8,则表示将fine插在ok前面(y前面为位置0,o前面的位置为8),输出为you are fine and ok.
时间: 2023-06-07 19:12:01 浏览: 177
非常感谢您的提问!关于您的问题,我为您提供以下C语言代码:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str1[21], str2[21], result[41];
int n, len1, len2, i, j;
printf("请输入第一个字符串(长度不超过20个字符):");
scanf("%s", str1);
printf("请输入第二个字符串(长度不超过20个字符):");
scanf("%s", str2);
printf("请输入要插入的位置(大于0且不超过20):");
scanf("%d", &n);
len1 = strlen(str1);
len2 = strlen(str2);
memset(result, 0, sizeof(result));
if (n <= len1)
{
for (i = 0; i < n; i++)
{
result[i] = str1[i];
}
strcat(result, str2);
j = strlen(result);
for (i = n; i < len1; i++)
{
result[j++] = str1[i];
}
}
else
{
strcpy(result, str1);
strcat(result, str2);
}
printf("插入后的字符串为:%s\n", result);
return 0;
}
```
该程序可以通过键盘输入两个字符串和一个整数n,然后将第二个字符串插入到第一个字符串的第n个字符后面,并输出插入后的字符串。
注意,该程序中使用了字符串拼接库函数strcat(),因此要确保插入字符串后的目标字符串长度足够大,否则可能会导致程序崩溃。
希望我的回答能够帮到您!如果您还有其他问题,欢迎随时提出。
阅读全文