在主函数中输入字符串s,s1,设计函数insert(s,s1,i):把字符串s1插入到字符串s的第i个位置上。在主函数中输出插入后的字符串。例如输入s:abc;输入s1:def,输入i:2 则插入后的字符串应该是adefbc.
时间: 2024-02-19 14:57:26 浏览: 55
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
void insert(char *s, char *s1, int i) {
int len_s = strlen(s);
int len_s1 = strlen(s1);
if (i < 0 || i > len_s) {
printf("Invalid position.\n");
return;
}
for (int j = len_s - 1; j >= i; j--) {
s[j + len_s1] = s[j];
}
for (int j = 0; j < len_s1; j++) {
s[i + j] = s1[j];
}
}
int main() {
char s[100], s1[100];
int i;
printf("Enter s: ");
scanf("%s", s);
printf("Enter s1: ");
scanf("%s", s1);
printf("Enter i: ");
scanf("%d", &i);
insert(s, s1, i);
printf("The result is: %s\n", s);
return 0;
}
```
输入示例:
```
Enter s: abc
Enter s1: def
Enter i: 2
```
输出示例:
```
The result is: adefbc
```
阅读全文