【发布时间】:2017-04-26 11:10:27
【问题描述】:
我尝试通过排除那些已经被选为最大数字的人来对arr 进行排序,但它不起作用。
结果是这样的:
如我所愿,在第一个循环中,商店为{9, 0, 0, 0, 0 ... },当arr[i] 变为9 时,应跳过其余过程。我必须在没有附加功能的情况下对其进行排序,这对我来说太难了。有什么问题?
int i = 0;
int j = 0;
int num = 0;
int sign = 0;
int arr[10] = { 1,5,3,4,8,7,5,9,8,0 };
int max = arr[0];
int store[10] = { 0 };
int k = 0;
for (j = 0; j < 10; j++) {
printf("store: ");
for (int n = 0; n < 10; on++)
printf("%d ", store[n]);
printf("\n");
for (i = 0; i < 10; i++) {
sign = 0;
k = 0;
while (k < 10) {
if (arr[i] == store[k]) {
sign = 1;
break;
}
k++;
}
if (sign == 1) {
continue;
}
if (arr[i] > max) {
max = arr[i];
}
}
store[j] = max;
}
【问题讨论】:
-
C 语言。我忘了..对不起
-
“有什么问题?”逻辑。
-
C Array sorting tips的可能重复