C语言输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如输入"BEIJING", "123", 3,则输出:"BEI123JING"
时间: 2023-11-21 20:07:51 浏览: 165
C语言字符串的输入和输出
好的,这个问题可以用C语言的字符串操作函数来解决。可以按照以下步骤来完成这个操作:
1. 声明两个字符数组(字符串)s1和s2,以及整型变量f。
2. 用scanf函数分别读取三个变量的值。
3. 使用strlen函数获取字符串s1的长度len1。
4. 判断f的值是否大于len1,若大于则输出错误提示信息,否则继续操作。
5. 声明一个新的字符数组s3,大小为len1+strlen(s2)+1,用于存放插入后的字符串。
6. 使用strcpy函数将s1中前f个字符复制到s3中。
7. 使用strcat函数将s2复制到s3的[f,f+strlen(s2)]的位置。
8. 使用strcpy函数将s1中[f,len1-1]的字符复制到s3的[len1+strlen(s2),len1+f]的位置。
9. 将s3输出。
下面是实现代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100], s2[100], s3[200];
int f, len1, len2;
printf("请输入字符串s1和s2以及插入位置f: ");
scanf("%s%s%d", s1, s2, &f);
len1 = strlen(s1);
len2 = strlen(s2);
if(f > len1)
{
printf("输入不合法!\n");
}
else
{
strcpy(s3, "");
strncat(s3, s1, f);
strncat(s3, s2, len2);
strncat(s3, s1+f, len1-f);
printf("%s\n", s3);
}
return 0;
}
```
运行结果如下:
```
请输入字符串s1和s2以及插入位置f: BEIJING 123 3
BEI123JING
```
阅读全文