问答题 给定程序中,函数fun的功能是:有NxN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。 例如,若N=3,有下列矩阵: 1 2 3 计算结果为 1 0 0 4 5 6 6 5 0 7 8 9 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 void fun (int (*t)____1____) { int i,j; { ____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(j=0; j
【正确答案】正确答案:(1)[N] (2)t[i][j] (3)t[j][i]
【答案解析】解析:函数fun的功能是将对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0,操作顺序是将对称元素相加存放在左下三角元素中,然后将右上三角元素置0。 第一空:在主函数中fun函数的调用形式是“fun(t):”,t是数组名,故fun函数的参数是指针,因此第一空处应为“[N]”。 第二空:“____2____=t[i]D]+t[j][i];”是将对称元素相加存放在左下三角元素中,左下三角元素可表示为t[i]D],故第二空处应为“t[i]D]”。 第三空:“____3____=0;”是将右上三角元素置0,右上三角元素可表示为t[j][i],故第三空为“t[j][i]”。