通过函数调用方式求4×4阶矩阵的最大值、最小值及其下标,用全局变量和引用传递方式获取计算结果。(注:当一个函数要返回多个值时,最好给其定义全局变量)

#include <stdio.h>

#include <stdlib.h>

int max,min,maxi,maxj,mini,minj;

void max_min(int a[][4]);

void max_min(int (*a)[4])

{

    int i,j;

max=min=**a;

for(i=0;i<4;i++)

 for(j=0;j<4;j++)

 {  if(max<=*(*(a+i)+j))   

     {

   max=*(*(a+i)+j);

   maxi=i; maxj=j;

     }

    if(min>=*(*(a+i)+j))

    {

     min=*(*(a+i)+j);

     mini=i; minj=j;

}

    

     }

    

}

main()

{

int i,j;

    

int a[4][4]={9,34,2,5,0,7,9,4,21,10,16,15,12,10,8,6};

printf("数组a:\n");

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

printf("%3d",a[i][j]);

printf("\n");

}

max_min(a);

printf("数组a的最大值为:a[%d][%d]=%d,最小值为:a[%d][%d]=%d",maxi,maxj,max,mini,minj,min);

猜你喜欢

转载自blog.csdn.net/qq_40923242/article/details/80094377