实现在N行M列的一维数组中,找出每一行上的最小值,且原数组值不变。
条件有限,无法截图
1 应该是 p = 0;
2 应该是 if (x[i][p] < x[i][j])
如果有用麻烦点个采纳,谢谢~
不知道你这个问题是否已经解决, 如果还没有解决的话:// 对于每一行,先在新数组中复制一份,然后对新数组排序,取出最小值,存入结果数组,最后输出结果数组
#include <stdio.h>
#include <stdlib.h>
int cmp(const void* a, const void* b) {
return *(int*)a - *(int*)b;
}
int main() {
int n, m;
while(scanf("%d", &n) != EOF) {
scanf("%d", &m);
int arr[n][m];
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
}
}
int ans[n];
for(int i = 0; i < n; i++) {
int temp[m];
for(int j = 0; j < m; j++) {
temp[j] = arr[i][j];
}
qsort(temp, m, sizeof(int), cmp);
ans[i] = temp[0];
}
for(int i = 0; i < n; i++) {
printf("%d ", ans[i]);
}
printf("\n");
}
return 0;
}