当前位置: 代码迷 >> C语言 >> 字符串插入
  详细解决方案

字符串插入

热度:128   发布时间:2007-07-25 13:48:38.0
字符串插入
从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(B[]=“ab”)
main()
void insert(char a[],char b[])
{ int len_a=strlen(a),len_b=strlen(b),position=0,i;
char ch=0;
for(i=0;i<len_a;i++)
if(a[i]>ch) position=i;
for(i=position+1;i<len_a;i++)
a[i+len_b]=a[i];
for(i=position+1;i<=position+len_b+1;i++)
a[i]=b[i-position-1];
}

帮忙看下谢谢谢谢
搜索更多相关的解决方案: 字符  

----------------解决方案--------------------------------------------------------
主调函数
和自定义函数没有分开啊......
----------------解决方案--------------------------------------------------------
你能帮我修改一下吗
谢谢
----------------解决方案--------------------------------------------------------
你的数组范围超出界限
比较直接的是strcat和strcpy(在<string.h>里)

strcpy你得重新设定数组,其长度大于两个length的和
strcat必须a[]的长度大于length_a+length_a+1;
----------------解决方案--------------------------------------------------------
你要重新定义一个buf[length_a+length_a+1];
求出最大的字母的位置,如j;那么for(int i=0;i<=j;i++)buf[i]=a[i]然后呢
for(int i=j+1;i<lenth_a+lenth_b;i++)buf[i]=b[i-j-1];最后要buf[length_a+length_a]='\0"就行了!!
----------------解决方案--------------------------------------------------------
谢谢,我试试
----------------解决方案--------------------------------------------------------
大侠能把整个程序列出来吗,还是不大成,,,
----------------解决方案--------------------------------------------------------
一般都是先学C语言,这样再学其他的语言就轻松的多啦。
----------------解决方案--------------------------------------------------------
  相关解决方案