求二维数组中的最大值和最小值C语言,c语言 写一个子函数要求找出一个二维数组的最大值...

并且返回两个维 求助 想不出来怎么写

题主的问题问的不够清楚。我假设你说的二维数组里面保存是整数,问的是找到二维数组中的最大值,并且返回一个最大值的位置。函数内部两个for循环遍历数组,能找到最大值和位置吧。返回这三个整数的办法?我猜楼主不明白这个。可以new一个整形数组,初始化为最大值及其位置,返回指针。或者,新建一个struct,定义一个全局struct变量,用最大值及其位置初始化这个struct全局变量。

include

define COL 3

define ROW 4

int getmax(inta, int num)

{

int *max;

int i;

max = a;

for (i = 1; i < num; i++) {

if (*max < a[i]) {

max = &a[i];

}

}

return max;

}

int main(void)

{

int a[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {9, 8 ,7}, {0, 0, 0}};

int *max;

max = getmax((int *)a, sizeof(a) / sizeof(a[0][0]));

printf("max[%d][%d]=%d", ((int)max - (int)a) / sizeof(a[0][0]) / COL,

((int)max - (int)a) / sizeof(a[0][0]) % COL, *max);

return 0;

}

其它类型数组,照这个模板改,返回指针,很方便计算出二位数组下标

73bccf0c0b4af35beddca4274520fb45.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值