c语言求二维数组每列最小值
时间: 2023-07-30 09:06:24 浏览: 289
可以使用双重循环遍历二维数组,找出每一列的最小值。具体代码如下所示:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {
{3, 2, 5, 1},
{7, 8, 4, 9},
{6, 0, 2, 3}
};
int min_val;
for (int j = 0; j < 4; j++) { // 遍历每一列
min_val = arr[0][j]; // 初始化最小值为该列的第一个元素
for (int i = 1; i < 3; i++) { // 遍历该列的其他元素
if (arr[i][j] < min_val) { // 如果该元素小于当前最小值,更新最小值
min_val = arr[i][j];
}
}
printf("第%d列的最小值为:%d\n", j + 1, min_val);
}
return 0;
}
```
输出结果为:
```
第1列的最小值为:3
第2列的最小值为:0
第3列的最小值为:2
第4列的最小值为:1
```
相关问题
C语言求二维数组中的最小值,以及最小值的行号、列号
可以使用两个嵌套的循环遍历整个二维数组,同时记录最小值及其所在的行、列号。
具体实现如下:
```c
#include <stdio.h>
#define ROWS 3 // 二维数组的行数
#define COLS 4 // 二维数组的列数
int main() {
int arr[ROWS][COLS] = { {5, 2, 9, 8}, {3, 6, 1, 7}, {4, 0, 10, 12} }; // 定义一个二维数组
int min = arr[0][0]; // 记录最小值
int min_row = 0; // 记录最小值所在的行号
int min_col = 0; // 记录最小值所在的列号
// 遍历二维数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
// 如果当前元素比最小值还小,则更新最小值及其所在的行、列号
if (arr[i][j] < min) {
min = arr[i][j];
min_row = i;
min_col = j;
}
}
}
printf("最小值为:%d,所在位置为第%d行第%d列\n", min, min_row + 1, min_col + 1);
return 0;
}
```
上述代码中,将二维数组中第一个元素设为初始的最小值,然后遍历整个数组,如果当前元素比最小值还小,则更新最小值及其所在的行、列号。最后输出最小值及其所在的位置。
c语言输出二维数组每列的最小值
在C语言中,要输出二维数组每列的最小值,你可以创建一个循环遍历每一行,然后在内层循环中比较当前元素与其他元素,找出每列的最小值。以下是一个简单的示例:
```c
#include <stdio.h>
#define ROWS 3 // 数组的行数
#define COLS 4 // 数组的列数
void print_col_min(int arr[ROWS][COLS]) {
int i, j;
for (i = 0; i < COLS; i++) { // 遍历每一列
int min_val = arr[0][i]; // 初始列最小值设为第一行第一个元素
for (j = 1; j < ROWS; j++) { // 内层循环比较其他元素
if (arr[j][i] < min_val) {
min_val = arr[j][i];
}
}
printf("Column %d minimum value: %d\n", i+1, min_val); // 输出该列的最小值
}
}
int main() {
int arr[ROWS][COLS] = {
{5, 9, 7, 2},
{1, 8, 6, 3},
{4, 7, 10, 1}
};
print_col_min(arr);
return 0;
}
阅读全文