这个结果不科学
一个选择法的代码#include<stdio.h>
int main()
{void sort(int array[],int n);
int a[10],i;
printf("enter array:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf("The sorted array:\n");
for(i=0;i<10;i++)
printf("%2d",a[i]);
printf("\n");
return 0;
}
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
{t=array[k];array[k]=array[i];array[i]=t;}
}
}
输出结果是这样(见附件)不知道怎样贴图就手打了
enter array:
45 2 9 0 -3 54 12 5 66 33
The sorted array:
-3 0 2 5 91233455466
为什么会这样 后面的怎么没间隔了
另外这个是书上的原程序 书上的结果没这个问题 我用的也是VC++6.0
[ 本帖最后由 月祭樱冢 于 2013-7-22 23:58 编辑 ]