函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得

admin2018-09-27  15

问题 函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
1  #include<stdio.h>
2  void fun(int a[],int n)
3  {  int i,t;
4  /**********found**********/
5  for(i=0;i<__1____;i++)
6  {
7  t=a
8  /**********found**********/
9   a=a[n-1-__2___];
10  /**********found**********/
11 __3___=t;
12    }
13  }
14  main()
15  {int b[9]={1,2,3,4,5,6,7,8,9},i;
16  printf(’’\nThe original data:\n’’);
17  for(i=0;i<9;i++)
18    printf(’’%4d’’,b);
19  printf(’’\n’’);
20  fun(b,9);
21  printf(’’\nThe data after invert:\n’’);
22  for(i=0;i<9;i++)
23    printf(’’%4d’’,b);
24  printf(’’\n’’);
25  }

选项

答案(1)n/2 (2)i (3)a[n-i-1]

解析 函数fun的功能是将数组中的元素倒置。
    第一空:由审题分析可知,总共交换n/2次,故循环的终止条件为i等于n/2,故第一空处应为“n/2”。
    第二空:a[0]和a[n-1]交换,a[1]和a[n-2]交换…,因此,a和a[n-i-1]交换,故第二空处应为“i”。
    第三空:“t=a;a=a[n-1-i];”所以第三空处是把t值赋值a[n-1-i],故第三空处应为“a[n-1-i]。
转载请注明原文地址:https://kaotiyun.com/show/t8xp777K
0

最新回复(0)