c语言二维数组求最大两个元素
时间: 2023-08-24 07:19:28 浏览: 39
可以使用双重循环遍历二维数组,找到最大的两个元素。具体的实现方式如下所示:
```c
#include <stdio.h>
int main() {
int arr[3][3] = {{1, 5, 3}, {8, 4, 2}, {7, 9, 6}};
int max1 = arr[0][0], max2 = arr[0][1];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (arr[i][j] > max1) {
max2 = max1;
max1 = arr[i][j];
} else if (arr[i][j] > max2 && arr[i][j] != max1) {
max2 = arr[i][j];
}
}
}
printf("The first maximum element is %d\n", max1);
printf("The second maximum element is %d\n", max2);
return 0;
}
```
这段代码中,我们使用了两个变量 `max1` 和 `max2` 分别存储当前已经找到的最大元素和次大元素。在双重循环中,我们遍历二维数组中的每个元素,如果当前元素比 `max1` 大,则将 `max2` 更新为 `max1`,再将 `max1` 更新为当前元素。如果当前元素比 `max2` 大但不等于 `max1`,则将 `max2` 更新为当前元素。最终输出 `max1` 和 `max2` 即可。