用选择法对10个整数从小到大排序,这10个整数需要输入. 要求选择法排序由以下语句?

#include <stdio.h>
void main()
{
int a[10],i,j,min,temp;
for(j=0;j<10;j++)
scanf("%d",&a[j]);
for (i=0;i<9;i++)

{ for (min=i,j=i+1;j<10;j++)
if(a[min]<a[j])
temp=a[min];
a[min]=a[i];
a[i]=temp;}
{for (j=0;j<10;j++)
printf("%d ",a[j]);
}
}
哪错了?

    if(a[min]<a[j])错误,应该是if(a[min]>a[j])才能“从小到大”排序。

    从if后面的语句看,这不是“选择法”。选择法要这样写——

    if(a[min]>a[j])

    min=j;

    if(min!=i)

    temp=a[min},a[min]=a[i],a[i]=temp;

温馨提示:答案为网友推荐,仅供参考
相似回答