选择排序法编程出现了一点小问题,不知如何解释,请教!
#include<iostream>using namespace std;
int main()
{
const int Max=5;
int i,j,n,a[Max];
for(n=0;n<=Max;n++)
{
cin>>a[n];
if(a[n]<0)
break;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<=n-1;j++)
{
int t; int t的位置让我很疑惑,放在这里答案会出错,而移到if语句块里就正确了,请问到问题出在哪里
if(a[i]<a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<=n-1;i++)
cout<<a[i]<<"\t";
system("pause");
return 0;
}
[ 本帖最后由 mengni0219 于 2013-11-1 15:40 编辑 ]