-->
当前位置:首页 > 题库 > 正文内容

程序填空题:选择排序

Luz4年前 (2021-05-10)题库2141
本题要求进行选择排序。所谓选择排序,是第一轮中找到最小值的下标k,将a[k]与数组中的第一个数a[0]进行交换。交换完毕后,第一个数就排好了。接下来,从剩下的数中再找到最小值,将其与a[1]交换。可以发现,每一轮都会排好一个数,越到后面,参与排序的数越少。N个数排序,需要N-1轮,每轮排好一个数。
```
#include
#define N 10
int main()
{ int a[N],i,j,k,t;
for(i=0;i @@[scanf("%d",&a[i]);](1) //依次读取数据
for(i=0;i {
@@[k=i;](1)
for(j=@@[i+1](1); j if(@@[a[j] k=j;
if(i!=k)
{@@[t=a[i],a[i]=a[k],a[k]=t;](1)}
}
for(i=0;i if(i==0)
printf("%d",a[i]]);
else
printf(" %d",a[i]);
return 0;
}

```







答案:
第1空:scanf("%d",&a[i]);

第2空:k=i;

第3空:i+1

第4空:a[j]
第5空:t=a[i],a[i]=a[k],a[k]=t;

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。