0
好的,所以即時嘗試實現冒泡排序,但它不能正常工作時,我輸入0作爲一個數字。它顯示額外的數字。爲什麼我的氣泡排序實現打印額外的數字?
int main()
{
int amount;
int numbers[50];
int x, y, z, j;
int swap;
printf("How many numbers do you want to sort: ");
scanf("%i", &amount);
for (x = 0; x <= amount; x++)
{
printf("Enter number %i: ", x);
scanf("%i", &numbers[x]);
}
for (j = 0; j <= amount; j++)
{
for (y = 0; y <= amount; y++)
{
if (numbers[y] > numbers[y + 1])
{
swap = numbers[y];
numbers[y] = numbers[y + 1];
numbers[y + 1] = swap;
}
}
}
for (z = 0; z <= amount; z++) {
printf("%i ", numbers[z]);
}
return 0;
}
'for(x = 0; x <= amount; x ++)' - 我已經懷疑了,因爲C中的正常循環形式爲for(x = 0; x < ; x ++)'你看到'<='這個問題了嗎? ' – selbie
回答'y <= amount' - >回答'y
BLUEPIXY
你可以參考此答案http://stackoverflow.com/questions/42043489/bubblesorting-c-language/42048752#42048752 –