填空题 下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如,若a所指数组中的数据为:1,2,3,4,5,6,7,8,9,则逆置后依次为:9,8,7,6,5,4,3,2,1。形参n给出数组中数据的个数。
请在下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(int a[],int n)
{
int i,t
/********found********/
for(i=0;i< 1;i++)
{
t=a[i]
/********found********/
a[i]=a[n-1- 2];
/********found********/
3=t;
}
}
main()
{
int b[9]=(1,2.3,4,5,6,7,8,9},i;
printf("/nThe original data:/n");
for{i=0;i<9;i++)
printf("%4d",b[i]);
printf("/n");
fun(b,9);
printf("/nThe data after invert:/n");
for(i=0;i<9;i++)
printf("%4d",b[i]);
printf("/n");
}
【正确答案】
【答案解析】n/2 i a[n-1-i] [考点]
本题关键字有:for循环语句;变量交换算法。
[解析]
填空1:将a[0]与a[n-1]对换,a[0]与a[n-2]对换,依次类推,需进行n/2次对换。
填空2:将a[0]与a[n-1]对换,a[1]与a[n-2]对换,依次类推,则a[i]=a[n-1-i];。
填空3:两值交换操作,应填入a[n-1-i]。