将一个字符串插入到另一个字符串的指定位置。c语言编写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个字符串插入到另一个字符串的指定位置。c语言编写相关的知识,希望对你有一定的参考价值。
将指定位置以后的字符分别往后移一个位置,再将要插入的字符串放到指定位置就行了,别忘了最后一个字符要赋为'\0’哦亲~~代码如下,仅供参考~void insert(char * str,char c,int position)
int i;
int len=strlen(str);
for (i=strlen(str)-1;i>=position;i--)
str[i+1]=str[i];
str[position]=c;
str[len+1]='\0';
str就是需要插入的字符串,c是需要插入的字符,position是插入的位置,即字符的下标(从0开始)
嘿嘿,希望对你有用哦~~ 参考技术A 已通过测试,望采纳
#include <stdio.h>
#include <string.h>
void main()
char str1[30],str2[10];
int n;
char t[30];
int length1,length2,length3;
int i,j=0;
printf("Input the orignal string:");
scanf("%s",str1);
printf("Input the string you want to insert:");
scanf("%s",str2);
length1=strlen(str1);
length2=strlen(str2);
printf("Input the position:");
scanf("%d",&n);
for(i=n;i<length1;i++)
t[j++]=str1[i];
length3=j;
j=n;
for(i=0;i<length2;i++)
str1[j++]=str2[i];
for(i=0;i<length3;i++)
str1[j++]=t[i];
str1[j]='\0';
printf("%s",str1);
追问
你能再把下面这部分解释一下吗,我没看懂,谢谢
for(i=n;i<length1;i++)
t[j++]=str1[i];
length3=j;
j=n;
for(i=0;i<length2;i++)
str1[j++]=str2[i];
for(i=0;i<length3;i++)
str1[j++]=t[i];
str1[j]='\0';
printf("%s",str1);
哪里不懂再追问
for(i=n;i<length1;i++)保存自插入位置后str1中字符存入t[]中
t[j++]=str1[i];//str1中的内容赋值给t,t代表新串 t[j++]先对t[j]赋值,j再自加,少些点语句
length3=j;//记录自插入位置后str1中字符的个数
j=n;
for(i=0;i<length2;i++)//在str1中n位置起插入str2中全部字符
str1[j++]=str2[i];
for(i=0;i<length3;i++)//将str1中自n起的其余字符(已保存在t[]中)重新赋值给str1
str1[j++]=t[i];
str1[j]='\0'; //给新串str1添加'\0'(原来的已被覆盖掉,因为至少会插入一个字符)
printf("%s",str1);
using namespace std;
void main()
int len1,len2,len4,i,x,k=0;
char a[100],b[100], c[100];
cout<<"请输入一个字符串:"<<endl;
cin>>a;
cout<<"请输入要插入的字符串:"<<endl;
cin>>b;
len1=strlen(a);
len2=strlen(b);
cout<<"请输入你要插入的位置:"<<endl;
cin>>x;
for(i=x-1;a[i]!='\0';i++)
c[k++]=a[i];
len4=x-1;
for(i=0;i<len2;i++)
a[len4++]=b[i];
for(i=0;i<len1-x+1;i++)
a[len4++]=c[i];
a[len4]=0;
cout<<a<<endl;
将字符串插入到另一个字符串的指定位置(串)
题目描述
将字符串t插入到字符串s中,在位置pos后插入。不得使用字符串操作函数,输出组合成的字符串。
输入要求
输入两个字符串(t和s)和要插入的位置(pos)
输出要求
输出组合后的字符串
假如输入
qwe jij 3
应当输出
jijqwe
1 import java.util.Scanner; 2 3 4 public class Main 5 { 6 public static void main(String args[]) 7 { 8 int n=0; 9 Scanner scan=new Scanner(System.in); 10 String t=scan.next(); 11 String s=scan.next(); 12 n=scan.nextInt(); 13 StringBuffer stringbuffer=new StringBuffer(s); 14 s=stringbuffer.insert(n, t).toString(); 15 System.out.println(s); 16 17 } 18 }
以上是关于将一个字符串插入到另一个字符串的指定位置。c语言编写的主要内容,如果未能解决你的问题,请参考以下文章