给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵: 1 2 3 计算结果为 1 0 0 4 5 6

admin2020-07-28  27

问题 给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:
    1  2  3  计算结果为   1   0   0
    4  5  6               6   5   0
    7  8  9               10  14  9
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构1
1  #include<stdio.h>
2  #define N 4
3  /**********found**********/
4   void fun(int(*t)__1__)
5  {  int i,j;
6  for(i=1 ; i<N;i++)
7   (  for(j=0;j<i;j++)
8   {
9  /**********found**********/
10   __2___=t[j]+t[j]
11   /**********found**********/
12 __3__=0;
13   }
14   }
15  }
16   main()
17   {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;
18   printf(’’\nThe originalarray:\n’’);
19   for(i=0;i<N;i++)
20  {for(j=0;j<N;j++) printf(’’%2d’’,t[j]);
21  printf(’’\n’’);
22   }
23   fun(t);
24 printf(’’\nThe result is:\n’’);
25  for(i=0; i<N;i++)
26  {  for(j=0 ; j<N;j++)printf(’’%2d’’,t[j]);
27   printf(’’\n’’);
28    }
29   }

选项

答案(1)[N] (2)t[i][j] (3) t[j][i]

解析 第一空:在主函数中fun函数的调用形式是“fun(t);”,t是数组名,故fun函数的参数是指针,因此第一空处应为“[N]”。第二空:“__2__=t[j]+t[j];”是将对称元素相加存放在左下三角元素中,左下三角元素可表示为t[j],故第二空处应为“t[j]”。第三空:“__3__=0;”是将右上三角元素置0,右上三角元素可表示为t[j],故第三空为“t”。
转载请注明原文地址:https://kaotiyun.com/show/yG3p777K
0

最新回复(0)