问题
填空题
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 #include<stdio.h> #include<string.h> main() { char a[]="clanguage",t; int i,j,k; k=strlen(a); for(i=0;i<=k-2;i+=2) for(j=i+2;j<=k;j+=2;) if(_______) {t=a[i];a[i]=a[j];a[j]=t;} puts(a);printf("\n"); }
答案
参考答案:a[i]>a[j]
解析: 本题中的嵌套的循环结构用在了数组元素的排序上。本题需要注意的一点是:由于题目只要求出下标值为偶数的元素从小到大排序,所以内外层for循环的条件变量变更条件都是+=2,最后通过条件a[i]>a[j]对元素大小进行判断并交换。