用c语言求一维数组中的最小值
时间: 2024-03-13 07:44:57 浏览: 87
好的,以下是使用C语言求一维数组中的最小值的代码:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 5, 1, 8, 4, 2};
int n = sizeof(arr) / sizeof(arr[0]);
int min_val = arr[0];
// 遍历数组,更新最小值
for (int i = 1; i < n; i++) {
if (arr[i] < min_val) {
min_val = arr[i];
}
}
printf("数组中的最小值为: %d\n", min_val);
return 0;
}
```
执行结果如下所示:
```
数组中的最小值为: 1
```
其中,`arr`是一个一维整型数组,`n`表示数组中元素的个数,`min_val`变量初始化为数组中的第一个元素。然后,使用for循环遍历数组中的每一个元素,如果当前元素比最小值还小,就更新最小值。最终输出最小值即可。
相关问题
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
#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
```
阅读全文