c语言编程:一个2*3矩阵,求最大值,最小值

Python011

c语言编程:一个2*3矩阵,求最大值,最小值,第1张

思路:先把矩阵的第一个数赋值给最大值最小值,接着遍历整个矩阵依次和最大值和最小值比较,更新最大值和最小值,最后输出最大值和最小值。

参考代码:

#include "stdio.h"

int main()

{

int a[2][3]={{5,1,2},{6,9,4}},max,min,i,j

max=min=a[0][0]

for(i=0i<2i++)

for(j=0j<3j++){

if(a[i][j]>max) max=a[i][j]

if(a[i][j]<min) min=a[i][j]

}

printf("最大值为:%d,最小值为:%d\n",max,min)       

}

/*

运行结果:

最大值为:9,最小值为:1

*/

若用 int *p 传递, max=**p语法有错,用 max= *p 即可。

修改如下。(用 int *p 传递, 矩阵也用 一维 存放较方便。)

#include <stdio.h>

void zxw(int *p,int a,int b)

{ int i,j,max

max=p[0]

for(i=0i<ai++)

for(j=0j<bj++) if( p[i*b+j]>max) max= p[i*b+j]

printf("%d\n",max)

}

int main()

{

int *x

int n,m,a,b

int i,j

scanf("%d",&n)

while(n--)

{

scanf("%d",&a)

scanf("%d",&b)

x = (int *) malloc(sizeof(float)*a*b)

for(i=0i<ai++){for(j=0j<bj++) scanf("%d",&x[i*b+j])}

zxw(x,a,b)

free(x)

}

}

#include <stdio.h>

void main(){

int i,j,m,n,max,a[100][100]

scanf("%d%d",&m,&n)

for(i=0i<mi++)

for(j=0j<nj++)

scanf("%d",&a[i][j])

max=a[0][0]

for(i=0i<mi++)

for(j=0j<nj++)

if(max<a[i][j]) max=a[i][j]

printf("\n%d",max)

}

运行示例: