关于排序问题方法的疑问,为什么要设这个k?
#include<stdio.h>int main()
{
int a[5]={4,7,5,1,3};
int i,j,temp;
for (i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for (i=0;i<5;i++)
printf("%d",a[i]);
return 0;
}
官方给出的程序:
#include<stdio.h>
int main()
{
int a[5]={4,7,5,1,3};
int i,j,k,temp;
for (i=0;i<4;i++)
{k=i;
for(j=i+1;j<5;j++)
if(a[k]<a[j])
k=j;
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
for (i=0;i<5;i++)
printf("%3d",a[i]);
return 0;
}
为什么要设这个k?不设照样可以完成比较的。谢谢!