用c语言求二维数组的最小值
时间: 2024-05-16 13:17:31 浏览: 109
以下是用C语言求二维数组最小值的示例代码:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {{3, 5, 1, 9}, {7, 2, 8, 4}, {6, 0, 10, 12}};
int min = arr[0][0];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
}
}
}
printf("The minimum value in the 2D array is: %d", min);
return 0;
}
```
这里我们先定义了一个3行4列的二维数组`arr`,并初始化了一些数据。然后我们设置一个变量`min`来保存最小值,初值设为数组中第一个元素。之后我们使用两个循环来遍历整个二维数组,如果找到比`min`更小的元素,就更新`min`的值。最后输出`min`即可。
相关问题
c语言求二维数组每列最小值
可以使用双重循环遍历二维数组,找出每一列的最小值。具体代码如下所示:
```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;
}
```
上述代码中,将二维数组中第一个元素设为初始的最小值,然后遍历整个数组,如果当前元素比最小值还小,则更新最小值及其所在的行、列号。最后输出最小值及其所在的位置。
阅读全文