题目:定义一个4×4的二维数组a,数组元素的值由键盘输入, 输出主对角线元素的最大值。

如:输入 2 3 5 7
6 6 7 3
3 7 5 7
1 3 5 7
输出:主对角线元素的最大值是7
#include "stdio.h"
#define N 4
int fun(int a[N][N])
{int i,max;
/**********ERROR**********/
max==a[0][0];
for(i=0;i<N;i++)
/**********ERROR**********/
if(a[i][i]<max)
max=a[i][i];
return max;
}
main()
{int a[N][N],i,j;
printf("给数组元素赋值:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
/**********ERROR**********/
scanf("%d",a[i][j]);
printf("\n");
printf("输出原数组:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%6d",a[i][j]);
printf("\n");}
/**********ERROR**********/
printf("主对角线元素的最大值是%d\n",fun());
}
怎么改啊

#include "stdio.h"
#define N 4
int fun(int a[N][N])
{int i,max;
 /**********ERROR**********/
 max=a[0][0];    //赋值用单个等号
 for(i=0;i<N;i++)
/**********ERROR**********/         
   if(a[i][i]>max)    //a[i][i]比max大,才用它的值替换max
         max=a[i][i];
 return max;
}
 main()
{int a[N][N],i,j;
printf("给数组元素赋值:\n");
for(i=0;i<N;i++)
 for(j=0;j<N;j++)
 /**********ERROR**********/   
   scanf("%d",&a[i][j]);    //读取时要取地址
printf("\n");
 printf("输出原数组:\n");
for(i=0;i<N;i++)
 {for(j=0;j<N;j++)
   printf("%6d",a[i][j]);
  printf("\n");}
/**********ERROR**********/
printf("主对角线元素的最大值是%d\n",fun(a));    //fun要传递参数
 }

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答