20个数排列顺序(小到大) 用选择排序和冒泡排序2种排序
20个数排列顺序(小到大) 用选择排序和冒泡排序2种排序
其实我只是提供下题目而已,不是我不会做................希望大家研究下
方法一:冒泡法
#define N 20
#include"stdio.h"
main()
{
int a[N],i,j,temp;
printf("please input %d numbers\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("the array after sort:\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
}
方法二:选择排序
#include"stdio.h"
#define N 20
main()
{
int a[N],i,j,r,temp;
printf("please input %d numbers\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{ r=i;
for(j=i+1;j<N;j++)
if(a[j]<a[r])
r=j;
if(r!=i)
{
temp=a[r];
a[r]=a[i];
a[i]=temp;
}
}
printf("the array after sort:\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
}