选择法:
#include"stdio.h"
void main()
{
int i,j,temp,a[11],min;
printf("please input data:\n");
for(i=1;i<=10;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\n");
printf("The orginal numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for(i=1;i<=9;i++)
{
min=i; /*注意设置一个值(可以不是最小)给min*/
for(j=i+1;j<=10;j++)
if(a[min]>a[j])
min=j; /*比较最小,后语句进入换位*/
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("\nThe sorted numbers:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
}
冒泡排序:
#include"stdio.h"
void main()
{
int i,j,t;
int a[10];
printf("Please input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<10;j++)
for(i=0;i<10-j;i++)
if(a[i]>a[i+1]) /*比较大小,直接上冒,大的下沉*/
{
t=a[i];
a[i]=a[i+1];
a[i
+1]=t;
}
printf("the sorted numbers is:\n ");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}