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

admin2019-09-02  63

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

选项

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

解析 函数fun的功能是将对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0,操作顺序是将对称元素相加存放在左下三角元素中,然后将右上三角元素置0。
第一空:在主函数中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/OdRp777K
0

最新回复(0)