C语言——求二维数组每列元素最大值。

运行结果如图:

在这里插入图片描述

代码如下:

#include  <stdio.h>
#define  N  4
void fun(int  (*a)[N], int  *b)
{
    
     int  i,j;
  for(i=0; i<N; i++) {
    
    
    b[i]=a[0][i];
    for(j=1; j<N; j++)
        if(b[i]< a[j][i])
		   b[i]=a[j][i];
  }
}
void main()
{
    
     int  x[N][N]={
    
     {
    
    12,5,8,7},{
    
    6,1,9,3},{
    
    1,2,3,4},{
    
    2,8,4,3} },y[N],i,j;
  printf("\nThe matrix :\n");
  for(i=0;i<N; i++)
  {
    
      for(j=0;j<N; j++) printf("%4d",x[i][j]);
     printf("\n");
  }
  fun(x,y);
  printf("\nThe result is:");
  for(i=0; i<N; i++)  printf("%3d",y[i]);
  printf("\n");
}


运行过程:

  b[i]=a[0][i];
    for(j=1; j<N; j++)
        if(b[i]< a[j][i])
	         b[i]=a[j][i];

将首行元素保存在一个数组中,
将该数组中每个元素与当前列进行比较取得最大值。

猜你喜欢

转载自blog.csdn.net/weixin_53391957/article/details/120001416