C语言编程:输入10个整数存入数组a中然后按从打到小的顺序排序并输出。

如题所述

#include<iostream.h>
{
int a[10];
int i,j,k;
for(k=0;k<10;k++)
cin>>a[k];
for(i=0;i<9;i++)
for(j=i+1;j<=9;j++)
if(a[j-1]<=a[j])
{b=a[j-1];a[j-1]=a[j];a[j]=b;}
for(k=0;k<10;k++)
cout<<a[k]<<endl;
}

最基本的一个算法,冒泡排序。因为只有10个数据,所以算法复杂性也就没必要限制了,这个算法比较经典而且写法容易。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-23
#include <stdio.h>

int main()
{
int a[10],i,j;
for(i=0;i<10;i++)
{
printf("请输入第%d个:",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[i]<a[j])
{
int k;
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);

return 0;
}本回答被提问者和网友采纳
第2个回答  2020-05-19
#include
<stdio.h>int
main(){int
a[10],i,j;for(i=0;i<10;i++){printf("请输入第%d个:",i+1);scanf("%d",&a[i]);}for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]<a[j]){int
k;k=a[i];a[i]=a[j];a[j]=k;}for(i=0;i<10;i++)printf("%d
",a[i]);return
0;}
第3个回答  2008-11-24
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(s[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
第4个回答  2008-11-24
#include <stdio.h>

void main()
{
int nA[10];

for(int nI = 0; nI < 10; nI++)
{
scanf("%d",&nA[nI]);
}

for(nI = 0; nI < 10 - 1; nI++)
{
for(int nJ = nI; nJ < 10 - nI; nJ++)
{
if(nA[nJ] > nA[nJ + 1])
{
int temp = nA[nJ];
nA[nJ] = nA[nJ + 1];
nA[nJ + 1] = temp;
}
}
}
for(nI = 0; nI < 10; nI++)
{
printf("%d ", nA[nI]);
}

}

参考资料:答案