输入一个长度为N的字符串A,从其第K个字符起,插入长度为M的字符串B,输出新的长度为N+M的字符串,其中N、M均小于100,且K<=N将代码中的A和B改为输入形式使用C语言
时间: 2024-03-13 12:42:58 浏览: 61
好的,以下是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char A[MAX_LEN], B[MAX_LEN];
int N, M, K;
printf("请输入原字符串A:");
scanf("%s", A);
printf("请输入要插入的字符串B:");
scanf("%s", B);
printf("请输入插入位置K:");
scanf("%d", &K);
N = strlen(A);
M = strlen(B);
if (N + M >= MAX_LEN) {
printf("字符串长度超过限制!\n");
return 0;
}
// 将字符串A中第K个字符及其后面的字符后移M个位置
for (int i = N - 1; i >= K; i--) {
A[i + M] = A[i];
}
// 将字符串B插入到A中第K个字符的位置
for (int i = K; i < K + M; i++) {
A[i] = B[i - K];
}
printf("插入后的新字符串为:%s\n", A);
return 0;
}
```
注意:此代码只是实现了基本的功能,还有很多边界情况需要处理,例如输入字符串长度超过限制、插入位置超出字符串范围等等。
阅读全文