70 lines
1.3 KiB
C
70 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
<<<<<<< HEAD
|
|
int main(){
|
|
char str[100];
|
|
char subStr[100];
|
|
int i, j, index;
|
|
gets(str);
|
|
gets(subStr);
|
|
scanf("%d", &index);
|
|
|
|
i=strlen(subStr) + strlen(str);//主串+子串=两个合并后的结束符位置
|
|
str[i] = '\0';
|
|
i--;//13->i-3 -> i
|
|
for(j=strlen(str)-1;j>=index;j--){
|
|
str[i--] = str[j];
|
|
}
|
|
|
|
|
|
|
|
// for(i=0;i<strlen(subStr);i++){
|
|
// str[index+i] =subStr[i];
|
|
// }
|
|
puts(str);
|
|
|
|
return 0;
|
|
}
|
|
|
|
=======
|
|
int main() {
|
|
char str1[200], str2[100];
|
|
int i, j, index;
|
|
|
|
printf("请输入主字符串:");
|
|
fgets(str1, sizeof(str1), stdin);
|
|
str1[strcspn(str1, "\n")] = '\0'; // 去除换行符
|
|
|
|
printf("请输入要插入的字符串:");
|
|
fgets(str2, sizeof(str2), stdin);
|
|
str2[strcspn(str2, "\n")] = '\0'; // 去除换行符
|
|
|
|
printf("请输入要插入的位置:");
|
|
scanf("%d", &index);
|
|
|
|
int len1 = strlen(str1);
|
|
int len2 = strlen(str2);
|
|
|
|
// 检查插入位置是否有效
|
|
if (index < 0 || index > len1) {
|
|
printf("插入位置无效\n");
|
|
return 1;
|
|
}
|
|
|
|
// 移动字符以腾出空间
|
|
for (i = len1; i >= index; i--) {
|
|
str1[i + len2] = str1[i];
|
|
}
|
|
|
|
// 插入 str2
|
|
for (j = 0; j < len2; j++) {
|
|
str1[index + j] = str2[j];
|
|
}
|
|
|
|
printf("插入后的字符串: %s\n", str1);
|
|
|
|
return 0;
|
|
}
|
|
>>>>>>> 1843d42e7e825deacd49772a204a39bc2f132820
|