定义一个N*M的二维数组arr1,并存储数组元素;
定义一个长度为N的一维数组arr2,用于存储二维数组arr1每行中最小元素的下标;
通过遍历二维数组arr1,找到每行中的最小元素,并将其下标存入一维数组arr2中;
输出一维数组arr2。
以下是一个示例的C语言代码实现:
#include <stdio.h>
#define MAX_N 50
#define MAX_M 50
int main() {
int N, M;
scanf("%d%d", &N, &M); // 输入二维数组的行数和列数
int arr1[MAX_N][MAX_M]; // 定义二维数组并存储元素
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
scanf("%d", &arr1[i][j]); // 输入二维数组的元素
}
}
int arr2[MAX_N]; // 定义一维数组并用于存储每行最小元素的下标
for (int i = 0; i < N; i++) {
int min_index = i; // 初始化最小元素下标为当前行号
for (int j = 0; j < M; j++) {
if (arr1[i][j] < arr1[min_index][j]) { // 如果当前元素比最小元素小,则更新最小元素下标
min_index = i;
}
}
arr2[i] = min_index; // 将最小元素下标存入一维数组中
}
// 输出一维数组arr2
for (int i = 0; i < N; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}