题目要求
求以下二维数组的最大值及其位置;要求分别初始化和从键盘输入二维数组元素值,以矩阵形式输出该二维数组并求最大值和其行标、列标。
1 2 3 4
9 8 7 6
-10 10 -5 2
代码展示
#include <stdio.h>
int main()
{
int a[3][4];//定义一个3行4列的二维数组
int i, j;
for (i = 0; i < 3; i++)//从键盘输入二维数组元素值
for (j = 0; j < 4; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < 3; i++)//输出该二维数组
{
for (j = 0; j < 4; j++)
printf("%d ", a[i][j]);
printf("\n");//每行输出完换行,实现以矩阵形式输出
}
int max = a[0][0];
int x, y;
for (i = 0; i < 3; i++)
for (j = 0; j < 4; j++)
if (a[i][j] > max)
{
max = a[i][j];
x = i;
y = j;//记录最大值的下标
}
printf("最大值为%d,位置为a[%d][%d]", max,x,y);
}
输入、输出结果
1 2 3 4 9 8 7 6 -10 10 -5 2
1 2 3 4
9 8 7 6
-10 10 -5 2
最大值为10,位置为a[2][1]
第一行为输入,其余为输出。