#include
using namespace std;
void main()
{
int r[7] = {9,4,6,2,5,4,3};
int i,j,k,temp,p;
for(i=0;i<7;i++)
{
temp=r[0];
k=i;
for(j=i+1;j<7;j++)
{
if(r[j]<temp)k=j;
if(i!=k)
{
temp=r[0];
r[i]=r[j];
r[j]=temp;
}
}
for(p=0;p<7;p++)
{cout<<r[p]<<endl;}
}
}
#include<iostream>
using namespace std;
int main()
{
int r[7] = {9, 4, 6, 2, 5, 4, 3};
int i, j, k, temp, p;
for(i = 0; i < 7; i++)
{
temp = r[i];
k = i;
for(j = i + 1; j < 7; j++)
{
if(r[j]<temp) {
k = j;
temp = r[j];
}
}
if(i != k)
{
temp = r[i];
r[i] = r[k];
r[k] = temp;
}
}
for(p = 0; p < 7; p++)
{
cout<<r[p]<<endl;
}
return 0;
}
if(r[j]<temp)k=j;
后面少一个
temp=r[j];
否则temp并非是最小值
但是实际上temp本身是多余的,因为有k,所以temp可以用r[k]代替
temp=r[0];
r[i]=r[j];
r[j]=temp;
这里也不对,是交换i k不是i j