第1种:
# include <stdio.h>
int main(void)
{
int a[50];
int i,j,t,len,min;
scanf("%d",&len);//输入数组长度
for(i=0;i<len;++i)
scanf("%d",&a[i]);//元素
for(i=0;i<len;++i)//总体进行的循环次数
{
min = i;
for(j=i+1;j < len;++j)//其中一个元素与其他元素比较,得到最小数的下标(位置)
if(a[min] > a[j])
min = j;
if(min != i)//所得min与i进行比较,若min=i,说明开始的 i
就是最小数的下标;若min != i,说明最小数的下标是min,min与i交换
{
t = a[i];
a[i] =a[min];
a[min] = t;
}
}
for(i=0;i<len;++i)
printf("%d ",a[i]);
return 0;
}
第2种:
# include <stdio.h>
int main(void)
{
int a[50];
int i,j,t,min,len;
scanf("%d",&len);
for(i=0;i<len;++i)
scanf("%d",&a[i]);
for(i=0;i < len;++i)
{
min = i;
for(j=i+1;j < len;++j)
{
if(a[min] > a[j])
{
t = a[min];
a[min] = a[j];
a[j] = t;
}
}
a[i] = a[min];
}
for(i=0;i<len;++i)
printf("%d ",a[i]);
return 0;
}