我试图排除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语言。我忘了..对不起 – KYH
http://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – Biffen
“什么问题?”逻辑。 – TigOldBitties