编写程序,用选择法对10个整数按从小到大顺序排序

 我来答
松甜恬0Je4ba
推荐于2017-12-15 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3328万
展开全部
#include<stdio.h>
void sort(int array[],int n)
{ // n 为数组元素个数
int i,j,k,temp; // i 为基准位置,j 为当前被扫描元素位置,k 用于暂存出现的较小的元素的位置
for(i=0;i<n-1;i++)
{
k=i;//初始化为基准位置
for(j=i+1;j<n;j++)
{
if (array[j]<array[k]) k=j ; // k 始终指示出现的较小的元素的位置
} //for
if(k!=i)
{
temp=array[i];
array[i]=array[k];
array[k]=temp; // 将此趟扫描得到的最小元素与基准互换位置
}
}
}
int main()
{
int a[10]={1,3,6,8,9,7,5,4,2,1};
int i;
printf("before\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
sort(a,10);
printf("\nafter\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
更多追问追答
追问
就是不要固定那10个数,可以自己输入10个数的
追答
int main()
{
int a[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("before\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
sort(a,10);
printf("\nafter\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式