c语言找二维数组对角线上最大值
时间: 2024-12-18 22:31:31 浏览: 0
在C语言中,找到二维数组对角线(主对角线和副对角线)上的最大值,你可以通过遍历数组的方式来实现。这里是一个简单的示例:
```c
#include <stdio.h>
#define ROWS 4
#define COLS 5
int findMaxDiagonal(int arr[ROWS][COLS]) {
int maxMain = arr[0][0], maxAntiMain = arr[0][0];
// 遍历主对角线
for (int i = 0; i < ROWS && i < COLS; i++) {
if (arr[i][i] > maxMain) {
maxMain = arr[i][i];
}
}
// 遍历副对角线
for (int i = 0; i < ROWS && i < COLS - 1; i++) {
if (arr[i][COLS - 1 - i] > maxAntiMain) {
maxAntiMain = arr[i][COLS - 1 - i];
}
}
return (maxMain > maxAntiMain ? maxMain : maxAntiMain);
}
int main() {
int arr[ROWS][COLS] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}};
int maxVal = findMaxDiagonal(arr);
printf("最大值是: %d\n", maxVal);
return 0;
}
```
在这个例子中,`findMaxDiagonal`函数接受一个二维数组作为输入,然后分别遍历主对角线和副对角线,并更新最大值。在`main`函数中,我们创建了一个4x5的二维数组并调用了这个函数。
阅读全文