功能:求出N×M整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面
的一个)。例如:输入的数组为:
1 2 3
4 15 6
12 18 9
10 11 2求出的最大数为18,行坐标为2,列坐标为1。
代码如下所示:
#include <stdio.h>
#define N 4
#define M 3
int Row, Col;//将行列定义为全局变量,在传递参数时,就不需要传递这两个数
int fun(int arr[N][M])
{
int i, j, max_arr;
max_arr = arr[0][0];//先将二维数组中的最大值初始化为数组中的第一个数
//不要习惯性的初始化为0
for (i = 0; i < N; i++)//遍历二维数组找出最大值
{
for (j = 0; j < M; j++)
if (max_arr < arr[i][j])
{
max_arr = arr[i][j];//得到数组中的最大值
Row = i;//得到最大数的行
Col = j;//得到最大数的列
}
}
return (max_arr);//将最大值返回给主函数
}
int main()
{
int arr[N][M], i, j,d;
printf("please to input numbers:\n");
for (i = 0; i < N; i++)//从键盘输入二维数组
{
for (j = 0; j < M; j++)
{
scanf_s("%d", &arr[i][j]);
}
}
printf("the result are:");
d = fun(arr);//调用函数
printf("max_arr=%d,max_arr_Row=%d,max_arr_Col=%d", d,Row,Col);
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81543.html