用c语言求二维数组的最小值
时间: 2024-05-16 19:17:31 浏览: 12
以下是用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 ROW 3
#define COL 4
int main()
{
int arr[ROW][COL] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j, k, flag;
for (i = 0; i < ROW; i++) {
int max = arr[i][0];
int col = 0;
for (j = 1; j < COL; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
col = j;
}
}
flag = 1;
for (k = 0; k < ROW; k++) {
if (arr[k][col] < max) {
flag = 0;
break;
}
}
if (flag) {
printf("鞍点为:%d\n", max);
break;
}
}
if (!flag) {
printf("该数组没有鞍点!\n");
}
return 0;
}
```