这是一个由小到大的排序,但是有点问题
#include<iostream.h>
#include<iomanip.h>
#include<cstdlib>
main()
{
int i,j,k;
int a[10];
for(i=1;i<=10;i++)
a[i-1]=rand()%100; /产生随机数组
for(i=1;i<=10;i++)
cout<<a[i-1]<<setw(5); 输出数组
cout<<endl;
for(j=1;j<=10;j++)
{
int min=100; 取min 作为比较值
for(i=j;i<=10;i++)
{
if(min>a[i-1])
{
min=a[i-1]; 得到最小项和最小数值
k=i-1;
}
}
a[k]=a[j-1];
a[j-1]=min; 交换
}
for(j=1;j<=10;j++)
cout<<a[j]<<setw(5); 输出
cout<<endl;
return 0;
}
但是输出有问题,情况如下:
41 67 34 0 69 24 78 58 62 64
24 34 41 58 62 64 67 69 78 9
Press any key to continue
不知道什么原因??
排序问题