2、数列排序(基础练习 )

问题描述

给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200

输入格式

第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。

输出格式

输出一行,按从小到大的顺序输出排序后的数列。

样例输入

5
8 3 6 4 9

样例输出

3 4 6 8 9

要点:冒泡排序 

 for(i=1;i<n;i++)
   {
       for(j=0;j<n-i;j++)
       {
           if(a[j]>a[j+1])
           {
               temp=a[j];
               a[j]=a[j+1];
               a[j+1]=temp;
           }
       }
   }

#include<stdio.h>
int main()
{
   int n,a[201],i,j,temp;
   scanf("%d",&n);
   if(n<1||n>200)
   {
  	printf("数据错误!\n");
	}  
    for(i=0;i<n;i++)
     scanf("%d",&a[i]);
   for(i=1;i<n;i++)
   {
   	for(j=0;j<n-i;j++)
   	{
   		if(a[j]>a[j+1])
   		{
   			temp=a[j];
   			a[j]=a[j+1];
   			a[j+1]=temp;
		   }
	   }
   }
   for(i=0;i<n;i++)
   printf("%d ",a[i]);
   return 0;
}


版权声明:本文为m0_65594779原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。