本题要求编写程序,考试结束了,全班同学的分数都出来了。需要对分数做一次排序,看看从高到低,分数的排列是怎样的。
输入格式:
第一行是一个n,表示班级同学的人数,1<=n<=5000。第二行开始有n个分数,0<=分数<=100,分数都是整数,没有零点五分。
输出格式:
输出排序后的分数,按照从大到小排列,相同的分数排在一起,每两个分数之间间隔一个空格。
输入样例:
10
060 73 60 82 90 100 18 55 84
输出样例:
100 90 84 82 73 60 60 55 180
供参考 :
#include <stdio.h>
#define N 5001
int main()
{
int score[N], n, i, j, t;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &score[i]); //输入分数
for (i = n - 1; i > 0; i--)
{
for (j = 0;j < i;j++)
{
if (score[j] < score[j+1]){
t = score[j];
score[j] = score[j+1];
score[j+1] = t;
}
}
}
for (i = 0;i < n;i++)
printf(i ? " %d" : "%d", score[i]);
return 0;
}
n = int(input())
scores = list(map(int, input().split()))
scores.sort(reverse=True)
print(' '.join(map(str, scores)))