C语言:编写函数,求出一个二维数组中各行最大值中最小的数及其下标。在main函数中验证。要求:二维数组的行数、列数、数组元素均在main函数中由键盘输入。
时间: 2023-03-30 16:01:10 浏览: 59
可以回答这个问题。以下是代码示例:
#include <stdio.h>
void find_min_max(int arr[][100], int rows, int cols, int *min_val, int *min_row, int *min_col) {
int i, j;
*min_val = arr[][];
*min_row = ;
*min_col = ;
for (i = ; i < rows; i++) {
int max_val = arr[i][];
int max_col = ;
for (j = 1; j < cols; j++) {
if (arr[i][j] > max_val) {
max_val = arr[i][j];
max_col = j;
}
}
if (max_val < *min_val) {
*min_val = max_val;
*min_row = i;
*min_col = max_col;
}
}
}
int main() {
int arr[100][100];
int rows, cols;
int i, j;
printf("请输入二维数组的行数和列数:");
scanf("%d %d", &rows, &cols);
printf("请输入二维数组的元素:\n");
for (i = ; i < rows; i++) {
for (j = ; j < cols; j++) {
scanf("%d", &arr[i][j]);
}
}
int min_val, min_row, min_col;
find_min_max(arr, rows, cols, &min_val, &min_row, &min_col);
printf("各行最大值中最小的数为:%d,下标为(%d, %d)\n", min_val, min_row, min_col);
return ;
}
阅读全文