关爱特殊儿童的文章:[c]一个程序的问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 18:40:49
有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素的规律插入到a中,选择填空
#include<stdio.h>
main()
{ char a[20]="cehiknqwt";
char s[]="fbla";
int i,k,j;
for(k=0;s[k]!='\0',k++)
{ j=0;
while(s[k]>=a[j]&&a[j]!='\0')j++;
for(【1】)【2】;
a[j]=s[k];
}
puts(a);
}
【1】A)i=strlen(a)+k;i>=j;i--
B)i=strlen(a);i>=j;i--
C)i=j;i<=strlen(a)+k;i++
D)i=j;i<=strlen(a);i++
【2】A)a[i]=a[i+1]
B)a[i+1]=a[i]
C)a[i]=a[i-1]
D)a[i-1]=a[i]

两个答案都是b,我想问一下为什么 看得不是很明白。。。

填空的前面的while使找到待插入字符的位置下标,比如s中的'f'应插在a中'h'的位置,然后填空的那句话就是把这个位置向后的字符串后移一位,a变成'cehhiknqwt',然后把'f'插在刚才说的那个位置,a变成'cefhiknqwt',下面的依次类推