有已排好的字符串a,下面的程序是将字符串s中的每个字符按升序的规则插入到a中.请帮忙解释一下此程序的编程原理和程序运行的过程.谢谢!!#include<stdio.h>main() {char a[20]="cehiknqtw"; char s[]="fbla"; int i,k,j; for (k=0;s[k]!='\o';k++) {j=0; while(s[k]>=a[j]&&a[j]!='\o')j++; for (i=strlen(a);i>=j;i--) a[i+1]=a[i]; a[j]=s[k]; } puts(a);}

热心网友

includemain(){char a[20]="cehiknqtw";char s[]="fbla";int i,k,j;for (k=0;s[k]!='\o';k++){j=0;while(s[k]=a[j]&&a[j]!='\o')j++; //每个S中的字母于S中所有的字母比较大小for (i=strlen(a);i=j;i--) a[i+1]=a[i]; //找到了S中合适的字母,为插入腾 //出空间。把字母向后推了1位(i+1)a[j]=s[k];//字母被复制到A。}puts(a);//输出整个A(结果)}

热心网友

#includemain(){char a[20]="cehiknqtw";/*待插入数组*/char s[]="fbla";/*插入数组*/int i,k,j;for (k=0;s[k]!='\o';k++)/*循环到数组最后一个元素*/{j=0;while(s[k]=a[j]&&a[j]!='\o')j++;/*循环排序*/for (i=strlen(a);i=j;i--) a[i+1]=a[i];/*插入*/a[j]=s[k];}puts(a);/*输出*/}