//起泡法思路:将相邻两个数比较,将小的调到前头
#include<stdio.h>
void main()
{
int i,j,temp;
int array[5];
for(i=0;i<5;i++)
{
scanf("%d",&array[i]);
}
for(i=0;i<4;i++)//对5个数要比较4趟
{
for(j=0;j<5-i;j++)//从a[0]开始
{
if(array[j]>array[j+1]) //比较相邻的两个数,将小的放到前头
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
for(i=0;i<5;i++)
{
printf("%d",array[i]);
}
}
//选择法思路:先将5个数中最小的数与a[0]对换;再将a[1]到a[4]中最小的数与a[1]对换......
每比较一轮,找出一个未经排序的数中最小的一个。共比较4次。
#include<stdio.h>
void main()
{
int i,j,k,temp;
int array[5];
for(i=0;i<5;i++)
{
scanf("%d",&array[i]);
}
for(i=0;i<4;i++) //对5个数要比较4趟
{
k=i;
for(j=i+1;j<5;j++)
{
if(array[k]>array[j]) //比较两个数,使array[k]是最小的一个数
{
k=j;
}
}
temp=array[i];
array[i]=array[k];
array[k]=temp;
}
for(i=0;i<5;i++)
{
printf("%d ",array[i]);
}
}