在n行n列的二维数组中,首先从每行中选出最大数,在从选出的n个最大数中选出最小数,用C语言实现
时间: 2024-03-01 07:52:38 浏览: 50
可以使用二维数组和循环来实现这个功能,具体代码如下:
```c
#include <stdio.h>
#define N 3 // 定义二维数组的大小
int main() {
int a[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 定义二维数组并初始化
int max[N]; // 用于存储每行的最大数
int min; // 用于存储最终结果
// 遍历每行并找出最大数
for (int i = 0; i < N; i++) {
max[i] = a[i][0]; // 先将第一个数作为最大数
for (int j = 1; j < N; j++) {
if (a[i][j] > max[i]) {
max[i] = a[i][j]; // 更新最大数
}
}
}
// 找出最小数
min = max[0]; // 先将第一个数作为最小数
for (int i = 1; i < N; i++) {
if (max[i] < min) {
min = max[i]; // 更新最小数
}
}
printf("最小数为: %d\n", min);
return 0;
}
```
以上代码中,我使用了一个一维数组 `max` 来存储每行的最大数,然后再遍历一遍 `max` 数组找出其中的最小数作为最终结果。
阅读全文