C语言,将一个字符串插入到另一个字符串的制定位置
#include<stdio.h>voidinsert(char*s1,char*s2,intf){inti,l1=0,l2=0;char*p;for(p=s1;*p!=...
#include <stdio.h>
void insert(char *s1,char *s2,int f)
{
int i,l1=0,l2=0;
char *p;
for(p=s1;*p!='0';p++)
l1++;
for(p=s2;*p!='0';p++)
l2++;
for(i=l1+l2;i>=f+l2;i--)
{
*(s1+i)=*(s1+l1);
*(s1+l1)=*(s2+l2-1);
l1--;
l2--;
}
}
void main()
{
char st1[50]={"abcdefg"};
char st2[]={"ning"};
insert(st1,st2,2);
printf("%s",st1);
}
是指定位置,不是连接。 展开
void insert(char *s1,char *s2,int f)
{
int i,l1=0,l2=0;
char *p;
for(p=s1;*p!='0';p++)
l1++;
for(p=s2;*p!='0';p++)
l2++;
for(i=l1+l2;i>=f+l2;i--)
{
*(s1+i)=*(s1+l1);
*(s1+l1)=*(s2+l2-1);
l1--;
l2--;
}
}
void main()
{
char st1[50]={"abcdefg"};
char st2[]={"ning"};
insert(st1,st2,2);
printf("%s",st1);
}
是指定位置,不是连接。 展开
3个回答
展开全部
#include<stdio.h>
void main()
{
void insert(char a[],char b[],int t);
char a[100],b[100];
int t,i,j;
printf("input a string:\n");
gets(a);
printf("inut b string:\n");
gets(b);
printf("input the position to insert:\n");
scanf("%d",&t);
if(t<=0 || t>strlen(a)+1)
{
printf("wrong!.input again");
scanf("%d",&t);
}
insert(a,b,t);
}
void insert(char a[],char b[],int t)
{
int len1,len2;
int i,j,k,l;
char c[100];
len1=strlen(a);
len2=strlen(b);
for(i=0;i<t-1;i++)
c[i]=a[i];
for(j=0;j<len2;j++)
c[i+j]=b[j];
l=0;
for(k=t-1;k<len1;k++)
{
c[i+j+l]=a[k];
l++;
}
c[i+j+l]='\0';
puts(c);
}
void main()
{
void insert(char a[],char b[],int t);
char a[100],b[100];
int t,i,j;
printf("input a string:\n");
gets(a);
printf("inut b string:\n");
gets(b);
printf("input the position to insert:\n");
scanf("%d",&t);
if(t<=0 || t>strlen(a)+1)
{
printf("wrong!.input again");
scanf("%d",&t);
}
insert(a,b,t);
}
void insert(char a[],char b[],int t)
{
int len1,len2;
int i,j,k,l;
char c[100];
len1=strlen(a);
len2=strlen(b);
for(i=0;i<t-1;i++)
c[i]=a[i];
for(j=0;j<len2;j++)
c[i+j]=b[j];
l=0;
for(k=t-1;k<len1;k++)
{
c[i+j+l]=a[k];
l++;
}
c[i+j+l]='\0';
puts(c);
}
展开全部
#include<stdio.h>
voidmain()
{
voidinsert(chara[],charb[],intt);
chara[100],b[100];
intt,i,j;
printf("inputastring:\n");
gets(a);
printf("inutbstring:\n");
gets(b);
printf("inputthepositiontoinsert:\n");
scanf("%d",&t);
if(t<=0||t>strlen(a)+1)
{
printf("wrong!.inputagain");
scanf("%d",&t);
}
insert(a,b,t);
}
voidinsert(chara[],charb[],intt)
{
intlen1,len2;
inti,j,k,l;
charc[100];
len1=strlen(a);
len2=strlen(b);
for(i=0;i<t-1;i++)
c[i]=a[i];
for(j=0;j<len2;j++)
c[i+j]=b[j];
l=0;
for(k=t-1;k<len1;k++)
{
c[i+j+l]=a[k];
l++;
}
c[i+j+l]='\0';
puts(c);
}
voidmain()
{
voidinsert(chara[],charb[],intt);
chara[100],b[100];
intt,i,j;
printf("inputastring:\n");
gets(a);
printf("inutbstring:\n");
gets(b);
printf("inputthepositiontoinsert:\n");
scanf("%d",&t);
if(t<=0||t>strlen(a)+1)
{
printf("wrong!.inputagain");
scanf("%d",&t);
}
insert(a,b,t);
}
voidinsert(chara[],charb[],intt)
{
intlen1,len2;
inti,j,k,l;
charc[100];
len1=strlen(a);
len2=strlen(b);
for(i=0;i<t-1;i++)
c[i]=a[i];
for(j=0;j<len2;j++)
c[i+j]=b[j];
l=0;
for(k=t-1;k<len1;k++)
{
c[i+j+l]=a[k];
l++;
}
c[i+j+l]='\0';
puts(c);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
main()
{char a[]="acegikm";
char b[]="bdfhjlnpq";
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!='\0'&&b[j]!='\0')
{if (a[i] { c[k]=a[i];i++;}
else
c[k]=b[j++];
k++;
main()
{char a[]="acegikm";
char b[]="bdfhjlnpq";
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!='\0'&&b[j]!='\0')
{if (a[i] { c[k]=a[i];i++;}
else
c[k]=b[j++];
k++;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询