给定程序MODll.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #incllade

admin2015-06-08  33

问题 给定程序MODll.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#incllade
#define M 5
/**********found***********/
int  fun(int n,  int xx[][])
{  int i,j,sum=0;
  printf(“\nThe%d X%d matrix:\n”,
M,M);
  for(i=0;i  {  for(j=0;j/**********found***********/
    printf(“%f”,XX[j]);
    printf(“\n”);
  }
  for(i=0 ; i    sum+=XX+XX[n—i一1];
  return(sum);
}
main()
{ int aa[M][M]={{1,2,3,4,5},
{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},
{3,4,5,6,7});
  printf(“\nThe sum of all elementson 2 diagnalS is%d.”,fun(M,aa));
}

选项

答案(1)int fun(int n,int xx[][M]) (2)printf(“%4d”,xx[i][j]);

解析  函数的功能是求两条对角线上各元素之和。
    (1)第一个标识下fun函数的定义中对于二维数组的定义在原题中并没有给出空间,所以将“int fun(int n,int xx[][])”改为“int fun(int n,int xx[][M])”。
    (2)fun函数中n是int型,C语言输出语句中整型应该是%d,所以第二个标识下“printf(“%f”,xx[j]);”应该改为“printf(“0/;4d”,xxD]);”。
转载请注明原文地址:https://kaotiyun.com/show/GaJp777K
0

最新回复(0)