这是我写的代码
#include
int main()
{
int i,j,k;
int temp;
int a[5];
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
k=i;
for(j=i+1;j<=4;j++)
{
if(a[i]>a[j]){
k=j;
}
}
if(k!=j){
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
用一个循环来输出
for(i=0;i<5;i++)
printf("%d",a[i]);
修改如下,见注释,供参考:
#include <stdio.h>
int main()
{
int i,j,k;
int temp;
int a[5];
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);//输入数组元素
}
for(i=0;i<4;i++) //(i=0;i<=4;i++) 排序
{
k=i;
for(j=i+1;j<=4;j++)
{
if(a[k]>a[j]) //(a[i]>a[j])
k=j;
}
if(k!=i){ //(k!=j)
temp=a[i]; //temp=a[j];
a[i]=a[k]; //a[j]=a[i];
a[k]=temp; //a[i]=temp;
}
}
for(i=0;i<5;i++) //修改 输出
printf("%d ",a[i]); //修改
return 0;
}