用C++求众数若有相同次数的一并输出
时间: 2023-02-24 22:15:13 浏览: 139
下面是一种在 C 语言中求众数并输出相同次数的众数的方法:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
scanf("%d", &n);
int a[n];
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
int max_count = 0;
int res = a[0];
int curr_count = 1;
for (int i = 1; i < n; i++) {
if (a[i] == a[i - 1]) {
curr_count++;
} else {
if (curr_count > max_count) {
max_count = curr_count;
res = a[i - 1];
}
curr_count = 1;
}
}
if (curr_count > max_count) {
max_count = curr_count;
res = a[n - 1];
}
printf("%d %d\n", res, max_count);
return 0;
}
```
这段代码首先读入了数据的个数 `n` 和数组 `a`,然后通过遍历数组,统计连续相同数字的个数,在遍历过程中更新当前数字的最大出现次数,并记录当前数字。最后输出统计的众数及其出现次数。
阅读全文