C语言如何用选择法排序任意输入十个数(从大到小、从小到大)?

如题所述

#include <stdio.h>
main(void)
{
int i,j,a[10],p=0,t=0,temp;

printf("请输入原数组:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];

for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i]) //这是由小到大排序 如果是大到小则改为 if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}

printf("排序后的数组为:\n");
for(j=0;j<10;j++)
printf("%d ",a[j]);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-07
#include
<stdio.h>
main(void)
{
int
i,j,a[10],p=0,t=0,temp;
printf("请输入原数组:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];
for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i])
//这是由小到大排序
如果是大到小则改为
if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}
printf("排序后的数组为:\n");
for(j=0;j<10;j++)
printf("%d
",a[j]);
}
相似回答