1. 题目描述
数组存放所有学生的成绩数据,按成绩从高到底的顺序排列并输出
2. 示例
输入
[80,70,90,56]
输出
[90,80,70,56]
3. 解题思路
- 对题目要求的输入进行处理
- 用一个vector容器接收输入的数组元素,每次输入一个元素,遍历当前vector容器,若不同,则放入容器,若有重复元素,不放入容器
- 对vector容器里面的元素进行排序
- 输出vector容器里面的元素,由于需要考虑输出格式,因此对vector容器里的元素分三种情况
4. 代码实现
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int>a;
int m;
getchar();
while (cin >> m)
{
a.push_back(m);
if (getchar() == ',')
{
continue;
}
if (getchar() != ' ')
{
break;
}
}
for (int i = 0; i < a.size(); i++)
{
for (int j = i + 1; j < a.size(); j++)
{
if (a[i] < a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
int sumB = 0;
cout << '[';
if (a.size() == 0)
{
cout << ']' << endl;
return 0;
}
if (a.size() >= 1)
{
cout << a[0];
}
for (int i = 1; i < a.size(); i++)
{
cout << ',' << a[i];
}
cout << ']' << endl;
system("pause");
return 0;
}