问题 问答题

请补充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( 【1】 ; j<=i; 【2】 )

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] );

答案

参考答案:

[A]j=0,--i [B]j++,i-,

解析:

填空1:逆置一维数组元素的思路是,将第一个元素与最后一个元素对调,将第二个元素与倒数第二个元素对调,依此类推,直到中间的元素。所以第一次执行循环时,第一个元素的下标为0,最后一个元素的下标为N-1,而此时i等于N,故要将i减1。填空2:每执行一次循环,顺方向元素向后移动一个,反方向元素向前移动一个,故下标j要加1,下标i要减1。

单项选择题
单项选择题