首先,我们得了解选择排序的原理是什么(原理:拿前面两个数进行比较,判断大小,把大的数依次放到后面。经过一轮筛选,可以找出数组中最大的数,然后依次循环),搞清楚原理,再想想怎么通过代码去实现它,这就需要我们的逻辑非常清晰了。
废话不多说,上代码;
#include<stdio.h>
int main()
{
int n,i,j,t;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)//从第一个数开始;
{
for(j=i+1;j<(n+1);j++)//从第二个数开始;
{
if(a[i]>a[j])//判断大小;如果后一个数大于前一个数,则交换位置;
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}