題目如下
輸入n(n<=100)個整數,按照絕對值從大到小排序後輸出。題目保證對於每一個測試實例,所有的數的絕對值都不相等。
Input
輸入數據有多組,每組占一行,每行的第一個數字為n,接著是n個整數,n=0表示輸入數據的結束,不做處理。
Output
對於每個測試實例,輸出排序後的結果,兩個數之間用一個空格隔開。每個測試實例占一行。
Sample Input
3 3 -4 2
4 0 1 2 -3
0
Sample Output
-4 3 2
-3 2 1 0
Author
lcy
Source
我編的代碼如下
問題是我最後輸出的時候老是多輸出最後一個數字,如我輸入3 -4 5 1 輸出的應該是5 -4 1但是我的是5 -4 1 1 不太明白最後的1 在哪裡輸出的求大神幫忙看看那裡的問題應該如何解決謝謝了
下面這兩個判斷有重復的地方,當q=n-1的時候兩個都會滿足
if(q!=n)
{
printf("%d ",c[q]);
}
if(q==(n-1))
{
printf("%d\n",c[q]);
}
應該改為
if(q!=n-1)
{
printf("%d ",c[q]);
}
if(q==(n-1))
{
printf("%d\n",c[q]);
}