色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何在指定位置插入一個字符

江奕云2年前17瀏覽0評論

如何在指定位置插入一個字符?

也許用鏈表比較好實現,下面是用數組實現的程序:

#include<stdio.h>

#include<string.h>

main()

{ int i,j,k,m,n;

char a[100],b[100],c;

gets(a);

gets(b);

c=getchar();

m=strlen(a);

for(i=0;i<m;i++)

{if(a[i]==c)<br/> break;<br/> }

if(i>=m)

{printf("出錯!\n");<br/> return;<br/> }

n=strlen(b);

k=m;

for(j=m+n;j>i;j--,k--)

a[j]=a[k];

for(j=i,k=0;j<n+i;j++,k++)

a[j]=b[k];

printf("%s\n",a);

}

設計過程:

定義兩個字符串s2,s2,字符k

輸入兩個字符串 s1 、 s2 和 s1 中任意字符 k

先遍歷 s1 找到指定字符 k,記錄下當前位置

從k字符開始,按s2的長度后移其余的數據

將s2拷貝到k所在的位置

輸出s1。

代碼如下:

#include <stdio.h>

#include <string.h>

void main(){

char s1[100];

char s2[20];

char k;

int i,pos,len;

printf("input s1: ");scanf("%s", s1 );

printf("input s2: ");scanf("%s", s2 );

getchar();//濾掉回車符

printf("input k: ");scanf("%c", &k );

for( i=0;s1[i];i++ )

if ( s1[i]==k )

break;

}

pos=i; //記錄下待插入的位置

len=strlen(s2); //得到s2長度

for( i=strlen(s1);i>=pos;i-- ) //后移字符串

{

s1[i+len]=s1[i];

}

strncpy( &s1[pos], s2, len ); //插入數據

printf("%s\n", s1 ); //輸出字符串

}

java數組元素后移,如何在指定位置插入一個字符