考试结束了,全班同学的分数都出来了。老师需要对分数做一次排序,看看从高到低,分数的排列是怎样的 java代码
时间: 2024-03-09 19:48:30 浏览: 181
可以使用Java内置的排序方法Arrays.sort()来对分数进行排序,示例代码如下:
```java
int[] scores = {90, 85, 92, 88, 95, 80};
Arrays.sort(scores); // 默认从小到大排序
for (int i = scores.length - 1; i >= 0; i--) {
System.out.print(scores[i] + " ");
}
```
这段代码会输出:95 92 90 88 85 80,即按照从高到低的顺序排列后的分数。
相关问题
考试结束了,全班同学的分数都出来了。老师需要对分数做一次排序,看看从高到低,分数的排列是怎样的。\n\n输入格式:\n第一行是一个n,表示班级同学的人数,1<=n<=500000。\n第二行开始有n个分数,0
这个问题已经结束了,全班同学的分数都出来了。老师需要对分数做一次排序,看看从高到低,分数的排序是怎样的。
输入格式:
第一行是一个整数n,表示班级的人数,1<=n<=500000。
第二行开始有n个整数,表示每个人的分数,分数范围在0-100之间。
回答:
考试结束了,全班同学的分数都出来了。老师需要对分数做一次排序,看看从高到低,分数的排列是怎样的。 输入格式: 第一行是一个n,表示班级同学的人数,1<=n<=500000。 第二行开始有n个分数,0<=分数<=100,分数都是整数,没有零点五分。 输出格式: 输出排序后的分数,按照从大到小排列,相同的分数排在一起,每两个分数之间间隔一个空格。
算法1
用数组存储分数,然后直接使用sort函数排序即可。
C++ 代码
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 500010;
int a[N];
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n, greater<int>()); //从大到小排序
for(int i = 0; i < n; i++)
cout << a[i] << ' ';
cout << endl;
return 0;
}
算法2
使用计数排序,先统计每个分数出现的次数,然后从高到低输出即可。
C++ 代码
#include <iostream>
using namespace std;
const int N = 101;
int cnt[N]; //cnt[i]表示分数为i的人数
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
int score;
cin >> score;
cnt[score]++;
}
for(int i = 100; i >= 0; i--) //从高到低输出
for(int j = 0; j < cnt[i]; j++)
cout << i << ' ';
cout << endl;
return 0;
}
阅读全文