填空题

下列给定程序中,函数fun()的功能是:输出M行N列整数方阵,然后求两条对角线上的各元素的平方和,返回此和数。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#define M 5
int fun(int n,int xx[][M])

  int i,j,sum=O;
printf("\nThe %d x %d matrix:\n",M,M);
for(i=0;i<N;i++)

for(j=0;j<M;j++)
/*************found*************/
printf("%4d",xx[i j]);
/*************found*************/
printf(’\n’);

for(i=0;i<n;i++)
sum+=xx[i][i]*xx[i][i]+xx[i][n-i-1]
*xx[i][n-i-1];
return(sum);

main()

int aa[M][M]=3,12,4,24,35,
11,3, 3,7, 56,61,27,58,49,24,
17,28,7,36,85,15,33,5,24,9;
clrscr();
printf("\nThe result of all elements on 2
diagnals iS%d",fun(M,aa));

【参考答案】

(A)错误:printf("%Dd",xx[ij]); 正确:printf("%Dd",xx[i][j]):......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)