c语言编写自定义函数,计算二维数组中每一列的最大值,并返回每一列最大值所在的行列位置。

如题所述

#include <stdio.h> #include <malloc.h> void maxp(int** ia,int r,int c,int* x,int* y,int* max) { *max=ia[0][0]; int i,j; for(i=0;i<r;i++) { for(j=0;j<c;j++) { if(*max<ia[i][j]) { *max=ia[i][j]; *x=i; *y=j; } } } } int main() { int r,c,i,j; int max,x,y; printf("输入矩阵行数和列数 空格分开:"); scanf("%d%d",&r,&c); int** m=(int**)malloc(sizeof(int*)*r); for(i=0;i<r;i++) { m[i]=(int*)malloc(sizeof(int)*c); } printf("输入数据:"); for(i=0;i<r;i++) { for(j=0;j<c;j++) { scanf("%d",&m[i][j]); } } maxp(m,r,c,&x,&y,&max); printf("最大值是m[%d][%d]:%d\n",x,y,max); for(i=0;i<r;i++) { free(m[i]); } free(m); return 0; }追问

谢啦

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-25
愿君多采撷,此物最相思。