美文网首页
C语言养成之路2

C语言养成之路2

作者: 编程不要键盘 | 来源:发表于2018-08-06 18:51 被阅读0次

给你N个整数,你能帮我排排序吗?

输入描述

第一行为一个整数n(1≤n≤5000)。

第二行为n个整数,相邻整数之间间隔一个空格。第二行整数的范围介于-10^9~10^9之间。

输出描述

输出升序排序后的结果。注意行末没有空格。

题解:

看到题目第一眼,想到最简单的比大小。但是由于需要比较的数字个数不清楚,因此需要考虑用多一层的循环。

首先把输入的数字,全部赋值到a的数组中。然后把a[i]和a[i+1]进行比较,若a[i]大,就利用temp,把二者数值交换。但这个过程只能换一次,因此需要在外面多包一层循环,才有可能将最小的排到第一个。

#include

int main()

{

    long n,i,j,temp;

    scanf("%ld",&n);

    long a[6000];

     for (i=1;i<=n;i++) scanf("%ld",&a[i]);

    for (j=1;j<=n;j++)

    {

for (i=1;i

    {

      if(a[i]>a[i+1]){temp=a[i];a[i]=a[i+1];a[i+1]=temp;}

    }

    }

 

    for (i=1;i<=n;i++)

    {

       if(i

       else printf("%ld",a[i]);

}

return 0;

}

相关文章

网友评论

      本文标题:C语言养成之路2

      本文链接:https://www.haomeiwen.com/subject/zabevftx.html