利用c++语言实现对数组中0~9的数字进行计数并降序排序,输出
时间: 2024-02-11 11:07:45 浏览: 68
好的,我可以帮你实现这个功能。
以下是代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 10;
int count[MAXN] = { 0 }; // 定义一个计数器数组
int main()
{
int n;
cout << "请输入数组元素个数:";
cin >> n;
int arr[n];
cout << "请输入" << n << "个数字:";
for (int i = 0; i < n; i++) {
cin >> arr[i];
count[arr[i]]++; // 对应数字的计数器加一
}
// 对计数器数组进行降序排序
for (int i = 9; i >= 0; i--) {
for (int j = 0; j < count[i]; j++) {
cout << i << " ";
}
}
return 0;
}
```
代码解释:
1. 定义了一个大小为 10 的计数器数组 `count`,用于记录数字出现的次数。
2. 用户输入一个长度为 `n` 的数组 `arr`。
3. 遍历 `arr` 数组,将对应数字的计数器加一。
4. 对计数器数组 `count` 进行降序排序,从大到小遍历 `count` 数组,输出对应的数字。
5. 完成计数和排序后输出结果。
希望这个程序能解决你的问题。
阅读全文