C语言编程:求出N×M整型数组最大元素及其所在的行坐标和列坐标(如果最大元素不唯一,选择位置在最前面的一个)
时间: 2024-03-01 13:52:00 浏览: 39
可以使用两个变量来记录最大值及其坐标,然后遍历整个数组,如果当前元素比最大值大,则更新最大值及其坐标。下面是示例代码:
```c
#include <stdio.h>
int main() {
int n, m;
printf("Enter the number of rows and columns: ");
scanf("%d %d", &n, &m);
int arr[n][m];
printf("Enter the elements of the array:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
}
}
int max = arr[0][0];
int row = 0, col = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
row = i;
col = j;
}
}
}
printf("The maximum element is %d\n", max);
printf("Its row coordinate is %d\n", row);
printf("Its column coordinate is %d\n", col);
return 0;
}
```
需要注意的是,如果最大元素不唯一,我们选择位置在最前面的一个。这里的“最前面”可以理解为先出现的行坐标较小,如果行坐标相同,则选择列坐标较小的元素。在遍历数组时,我们已经按照行优先的顺序遍历了整个数组,因此可以保证找到的最大元素是位置最前面的那个。