手动输入一个一维数组,数组长度为10,找出数组中所有的众数(一个数组可能没有众数),c++
时间: 2024-10-04 08:01:51 浏览: 58
在C++中,要手动输入一个长度为10的一维整型数组并找出其中的众数(如果没有众数则返回无),可以使用以下步骤:
1. 首先,我们需要包含必要的头文件,并定义一个函数来计算众数。这里假设我们不需要处理多个众数的情况,只找一个。
```cpp
#include <iostream>
#include <vector>
using namespace std;
int findMode(vector<int>& arr) {
int count[10] = {0}; // 初始化计数数组
int max_count = 0;
int mode = -1;
for (int i = 0; i < 10; ++i) {
if (arr[i] >= 0 && arr[i] < 10) {
count[arr[i]]++;
if (count[arr[i]] > max_count) {
max_count = count[arr[i]];
mode = arr[i];
}
}
}
return mode;
}
int main() {
vector<int> input_array(10);
cout << "请输入一个长度为10的一维整数数组(0-9之间的整数):" << endl;
for (int i = 0; i < 10; ++i) {
cin >> input_array[i];
}
int mode = findMode(input_array);
if (mode != -1)
cout << "众数是: " << mode << endl;
else
cout << "数组中没有众数" << endl;
return 0;
}
```
在这个程序中,用户会通过`cin`逐个输入数组元素。然后,`findMode`函数会统计每个数字出现的次数,如果找到某个数出现了超过其他数的次数,则认为它是众数。注意这个例子仅适用于最多有10种可能的不同值的情况。
阅读全文