酷代码 AI
菜单
服务商

科研调查自然数统计:C++实现数字出现次数排序输出

```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; // 自定义结构体来存储数字和它出现的次数 struct NumberCount { int number; int count; }; // 比较函数,用于按数字从小到大排序 bool compare(NumberCount a, NumberCount b) { return a.number < b.number; } int main() { int n; cin >> n; // 存储所有输入的数字 vector<int> numbers(n); for (int i = 0; i < n; i++) { cin >> numbers[i]; } // 对输入的数字进行排序 sort(numbers.begin(), numbers.end()); // 存储每个不同数字及其出现的次数 vector<NumberCount> result; for (int i = 0; i < n; i++) { if (result.empty() || numbers[i] != result.back().number) { // 如果结果数组为空或者当前数字和结果数组最后一个数字不同 result.push_back({numbers[i], 1}); } else { // 如果当前数字和结果数组最后一个数字相同,增加计数 result.back().count++; } } // 输出每个不同数字及其出现的次数 for (int i = 0; i < result.size(); i++) { cout << result[i].number << " " << result[i].count << endl; } return 0; } ``` 注释解释: 1. **结构体 `NumberCount`**:用于存储一个数字和它出现的次数,包含成员变量 `number`(数字)和 `count`(出现次数)。 2. **比较函数 `compare`**:用于对 `NumberCount` 类型的数组进行排序,按照数字从小到大的顺序。 3. **主函数 `main`**: - 读取输入的数字个数 `n`。 - 读取 `n` 个数字并存储在 `vector` 类型的 `numbers` 中。 - 对 `numbers` 进行排序。 - 遍历排序后的 `numbers`,统计每个不同数字出现的次数,存储在 `result` 中。 - 遍历 `result`,输出每个不同数字及其出现的次数。 ######[AI问答 | 548点数解答 | 2026-02-25 16:59:55]

相关提问
发财导航,免费问AI
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]