温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

出现次数最多的整数

发布时间:2020-07-21 17:19:51 来源:网络 阅读:866 作者:qq597ee29ad8124 栏目:编程语言

问题描述
  编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
  输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
  输出格式:输出只有一行,即出现次数最多的那个元素值。
输入输出样例
样例输入
5
100
150
150
200
250
样例输出
150
当输入的数不相同时temp会变回1;而count没有变回1; if (temp > count) {
count = temp;
b = a[i];
这个语句就能体现出如果两个元素值出现次数相同则打印最小的,因为例如如果最后一个是200,当temp再次变为2,但它不大于count,所以b不会变,还是上一个。
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n > 0) {
int *a = new int [n];
int b;
int count = 1;
int temp = 1;
cin >> a[0];
b = a[0];
for(int i = 1; i < n; i++) { cin >> a[i];
if (a[i] == a[i - 1]) {
temp++;
if (temp > count) {
count = temp;
b = a[i];
}
} else {
temp = 1;
}
}
cout << b;
delete [] a;
}
return 0;
}

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI