用C语言编程《任意输入10个数,按从大到小的次序输出。~~~~~~~~~~~》~~

谁知道啊``~ 写下``~谢谢`~~`

以下是用选择法
main()
{
int a[10],i,j,temp;
printf("input a[].\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
{
if(a[j]<a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
如果输入的是小数(浮点型),那把int 改float ,%d 改%f
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-12-31
void f(int *p)/*排序函数*/
{
int i,j,temp;
for(i=1;i<10;i++)
for(j=0;j<9;j++)
{
if(*(p+j) > *(p+j+1))
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}

main()
{
int i,a[]={9,8,7,6,5,4,3,2,1,0};
f(a);
for(i=0;i<10;i++)
printf("%d\n",a[i]);
getch();

}

void reorder(int str[])
{
int temp;
for(int i=0;i<10;i++)
{
for(int j=i;j<N;j++)
{
if(str[i]>str[j])
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
for(i=0;i<10;i++)
printf("%2d",str[i]);
printf("\n");

}
第2个回答  2019-06-05
以下是用选择法
main()
{
int
a[10],i,j,temp;
printf("input
a[].\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
{
if(a[j]<a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
}
for(i=0;i<10;i++)
printf("%d
",a[i]);
}
如果输入的是小数(浮点型),那把int
改float
,%d
改%f
第3个回答  2008-01-01
起泡法和二分法都可以的
第4个回答  2008-01-01
两种方法:选择法和冒泡法
相似回答