冒泡排序
#include <stdio.h>
void main()
{
int a[10],i,j,tmp=0;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
printf("从小到大排序为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
printf("从大到大排序为:\n");
for(i=9;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
}
结果:
请输入10个整数:
12 1 3 4 78 95 6 8 9 75
从小到大排序为:
1 3 4 6 8 9 12 75 78 95
从大到大排序为:
95 78 75 12 9 8 6 4 3 1
选择排序
#include <stdio.h>
void main()
{
int a[10],i,j,tmp;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=i+1;j<=9;j++)
if(a[i]>a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
printf("从小到大排序为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
结果:
请输入10个整数:
78 96 12 50 3 6 4 53 10 29
从小到大排序为:
3 4 6 10 12 29 50 53 78 96