2017-10-18 15 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

这将是一个非常耗时的程序(关于复杂性等)。而且,你可能需要使用一个数组。 –