问答题 请补充main函数,该函数的功能是:把一维数组中的元素逆置。结果仍然保存在原数组中。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #define N 10 main ( ) { int i, j, t; int bb[N]; clrscr (); for (i=0; i<N; i++) bb[i]=i; printf("/n*** original list ***/n"); for (i=0;i<N; i++) printf ("%4d",bb [i] ); for({{U}} 【1】 {{/U}}; j<=i;{{U}} 【2】 {{/U}}) { t=bb [j ]; bb [j ] =bb [i]; bb[i]=t; } printf("/n****** new list ******/n"); for (i=0; i<N; i++) printf ("%4d",bb [i] ); }
【正确答案】
【答案解析】[1]j=0,--i [2]j++,i-, [解析]填空1:逆置一维数组元素的思路是,将第一个元素与最后一个元素对调,将第二个元素与倒数第二个元素对调,依此类推,直到中间的元素。所以第一次执行循环时,第一个元素的下标为0,最后一个元素的下标为N-1,而此时i等于N,故要将i减1。填空2:每执行一次循环,顺方向元素向后移动一个,反方向元素向前移动一个,故下标j要加1,下标i要减1。