C语言指针学习 二维数组最大值及位置

										二维数组最大值及位置

Description

有一个3*4的矩阵,要求编程求出其中值最大的那个元素,以及其所在的行号和列号。(如果最大数有多个,则显示第1个出现的数据的信息)

Input

从键盘输入12个数字组成一个3*4的矩阵

Output

输出矩阵中最大值,以及其所在的行号和列号。如有多个最大值,则显示第1个出现的。

Sample Input

1 2 9 3
5 3 4 2
0 6 9 1

Sample Output

9 0 2

#include<stdio.h>
int main()
{
	int a[3][4],max=0,x=0,y=0;
	int (*pa)[4]=a;
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<4;j++)//输入数据
		{
			scanf("%d",&*(*(pa+i)+j));
		}
	}
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<4;j++)
		{
			if(max==*(*(pa+i)+j))//如果最大值不止一个则不对x与y进行改变
			{
				x=x;
				y=y;
			}else if(max<*(*(pa+i)+j))//如果当前是最大值则赋值max并且将位置传递给x和y
			{
				max=*(*(pa+i)+j);
				x=j;
				y=i;
			}
		}
	}              
	printf("%d %d %d",max,y,x);
	return 0;                                                                 
}
  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值