Problem 7: 多少个最大值?
Description
输入若干个int类型的整数,求它们的最大值及其个数。
Input
输入 若干个int类型的整数,至文件尾为止。
Output
输出只有一行:There are # maximum number &.
其中#是最大值的个数,&是最大值。
Sample Input
1 2 3 4 5 6 6 5 4 3 2 1 6 6 6
Sample Output
There are 5 maximum number 6.
HINT
不能使用数组。
一
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
int cnt=0;
int maxn;
while(cin >> n)
{
if(!cnt){
maxn=n;
cnt=1;
}
else{
if(n>maxn){
maxn=n;
cnt=1;
}
else if(n==maxn)
cnt++;
}
}
cout << "There are " << cnt<< " maximum number " << maxn << "." << endl;
return 0;
}
二
#include <iostream>
#include <string>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> n;
int num;
while (cin >> num) {
n.push_back(num);
}
int num_max = 0;
vector<int>::iterator Max = max_element(n.begin(), n.end());
//max_element()函数包含在<algorithm>中
for(int i = 0; i < n.size(); i++)
if(*Max == n[i])
num_max++;
cout << "There are " << num_max << " maximum number " << *Max << '.' << endl;
return 0;
}