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

admin2017-11-27  27

问题   给定程序中,函数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
#define N 4
/*********found**********/
void fun(int (*t)【1】)
{ int i, j;
for(i=l; i{ for(j=0; 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{for(j=0; jprintf("%2d ",t[j]); printf("\n");
}
fun(t);
printf("\nThe result is:\n");
for(i=0; i{  for(j=0; jprintf ("%2d ",t[j]);
printf("\n");
}
}

选项

答案(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[j]”。
转载请注明原文地址:https://jikaoti.com/ti/V5a0FFFM
0

最新回复(0)