2017-10-18 13 views
-2

任務是按升序排序並打印從鍵盤輸入的整數,而不使用C中的數組。輸入的結尾用'-1'標記,不能作爲輸入。 我試圖解決這個問題,但不能成功,誰能幫我解決這個問題?從鍵盤按照升序排列並打印整數,而不使用C中的數組。

這是我嘗試

#include<stdio.h> 

void smaller(int first,int second) 
{ 
    int temp=0; 
    if(second<first) { 
     temp=first; 
     first=second; 
     second=temp; 
     printf("%d %d",first,second); 
     } 
} 

int main() 
{ 
     int first=0,second=0; 

     printf("Kindly enter numbers to be arranged in ascending order followed by a -1\n\n"); 
     scanf("%d",&first); 

     while(second != -1) { 
      scanf("%d",&second); 
      smaller(first, second); 
     } 
     return 0; 
} 
+2

我懷疑需要遞歸或將數據保存到文件 - 除非輸入的順序是所需的。 – chux

+1

鏈接列表如何? –

+0

@JerryJeremiah這是一個在https://codegolf.stackexchange.com/上非常受歡迎的方法。 – klutt

回答

-3

在這方面,我們可以通過一個從鍵盤輸入每個號碼之一,然後在ECH一步進行插入排序,最後我們得到了一個排序的一組數字。

+0

這將是一個非常耗時的程序(關於複雜性等)。而且,你可能需要使用一個數組。 –