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

admin2019-04-14  37

问题 下列给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。
例如,若N=3,有下列矩阵:
1    2    3
4    5    6
7    8    9
计算后结果为
1    0    0
6    5    0
10   14   9
请在程序的下画线处填入正确的内容并把下画线删除。使程序得出正确的结果。
注意:不得增行或删行,也不得改程序的结构!
试题程序:
#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;j+ +)
printf(″%2d″,t[j]);
printf(″\n″);
}
}

选项

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

解析 本题考查:有参函数定义,需要根据题目要求和给定程序确定函数参数  N×N矩阵中如何表示左下角和右上角元素。
填空1:主函数中调用函数的参数为二维数组,所以此处形参应定义为指针数组。
填空2:根据题意可知,对称元素相加的和存放在左下三角元素中,那么应填入的是t[j]。
填空3:右上三角元素置0,应填入t[j]
转载请注明原文地址:https://jikaoti.com/ti/u8f0FFFM
0

最新回复(0)