#include
void main()
{ int a[5]={5,4,3,2,9},i,k,temp;
for(k=0;k<5;k++)
{for(i=k+1;i<5;i++)
if(a[k] {temp=a[k];
a[k]=a[i];
a[i]=temp;
}
printf(" %d",a[k]);
}
getch();
}
以下是各种基本排序的算法,有时间可以看看
选择排序:
#include "stdio.h"
#define N 5
main()
{
int i,j,k,t;
int a[N];
printf("请输入五位数:\n");
for(i=0;i
for(i=0;i
k=i;
for(j=i+1;j
if(i!=k)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i
printf("\n");
}
插入排序法:
#include "stdio.h"
#define N 5
main()
{
int i,j,k;
int a[N];
printf("请输入五位数:\n");
for(i=0;i
for(i=0;i
k=a[i];
j=i-1;
while(j>=0&&k {
a[j+1]=a[j];
j--;
}
a[j+1]=k;
}
for(i=0;i
printf("\n");
}
shell排序法:
#include "stdio.h"
#define N 10
main()
{
int i,j,k,m,flag;
int a[N]={10,33,23,45,12,67,44,22,33,18};
m=N;
while(m>1)
{
m=(m+1)/2;
do
{
flag=0;
for(i=0;i
j=i+m;
if(a[i]>a[j])
{
k=a[i];a[i]=a[j];a[j]=k;flag=1;
}
}
}while(flag);
}
for(i=0;i
printf("\n");
}
如果对你有所帮助,请记得采纳最佳答案,谢谢!