c语言随机二维数组每一行最小值
时间: 2024-12-22 12:02:45 浏览: 7
C语言程序设计-产生20个[30,120]上的随机整数放入二维数组a[5][4]中,求每行元素的和.txt
5星 · 资源好评率100%
在C语言中,创建并找到二维数组每一行的最小值需要几个步骤。首先,你需要定义一个二维数组,然后遍历每个元素,同时维护每行的最小值。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 包含rand和srand函数
#include <time.h> // 设置随机数种子
#define ROWS 5
#define COLS 10
// 函数声明
void find_min_in_row(int arr[ROWS][COLS], int row_size);
int main() {
int arr[ROWS][COLS]; // 定义一个二维数组
int i, j;
// 初始化随机数生成器
srand(time(0));
// 填充随机数到二维数组
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
arr[i][j] = rand() % 100; // 生成0到99之间的随机数
}
}
printf("Original array:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n"); // 换行
}
// 找到每行最小值并打印结果
for (i = 0; i < ROWS; i++) {
find_min_in_row(arr + i * COLS, COLS); // arr + i * COLS 访问当前行
printf("Minimum value in row %d is: %d\n", i+1, arr[i][0]); // 输出最小值
}
return 0;
}
// 辅助函数,用于查找一行的最小值
void find_min_in_row(int row[], int row_size) {
int min_val = row[0];
for (int j = 1; j < row_size; j++) {
if (row[j] < min_val)
min_val = row[j];
}
printf("Row minimum: ");
for (int k = 0; k < row_size; k++) {
if (min_val == row[k])
printf("*");
else
printf(".");
}
printf("\n");
}
```
在这个示例中,`find_min_in_row`函数遍历一行,并返回该行的最小值。主函数则负责生成二维数组、填充随机数以及找出并打印每行的最小值。
阅读全文