本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
4
5 1 7 6
输出样例:
7 6 5 1
以下为原答案
#include <stdio.h>
int main (void)
{
int n; //第一部分 输入
scanf ("%d\n",&n);
int a[n],i;
scanf ("%d",&a[0]);
for (i=1;i<n;i++)
{
scanf (" %d",&a[i]);
}
int j,b; //第二部分 判断
for (i=1;i<n;i++) //从第二个数开始,与前面的数作对比,如果大于前面的数,则交换两个数
{
for (j=0;j<i;j++) //前面的数
{
if (a[j]<a[i])
{
b=a[j];
a[j]=a[i];
a[i]=b;
}
}
}
printf ("%d",a[0]); //第三部分 输出
for (i=1;i<n;i++)
{
printf (" %d",a[i]);
}
return 0;
}