随机生成N个1至100的整数,N由用户给定,程序输出出现次数最多的整数及其出现次数。如果有多个并列最多,需要输出全部最多的整数。

来源:互联网 发布:记录键盘输入的软件 编辑:程序博客网 时间:2024/05/19 23:00

随机生成N个1至100的整数,N由用户给定,程序输出出现次数最多的整数及其出现次数。如果有多个并列最多,需要输出全部最多的整数。


#include <iostream>#include <time.h>#include <cstdlib>#include <vector>#include <algorithm>using namespace std;struct MyStruct{int num;int count;};bool Compare_Less(const MyStruct &a,const MyStruct &b){return a.count < b.count;}int main(){int tmp[101]={0};cout<<"Please enter a number:"<<endl;int n;cin>>n;srand((unsigned)time(NULL));for(int i = 0;i<n;i++){int randNum = rand() % 100 + 1;tmp[randNum] += 1;}vector<MyStruct> structVec;for(int i = 0;i<n;i++){MyStruct tmpStruct;tmpStruct.num = i+1;tmpStruct.count = tmp[i+1];structVec.push_back(tmpStruct);}sort(structVec.begin(),structVec.end(),Compare_Less);int max = structVec.rbegin()->count;for(vector<MyStruct>::reverse_iterator it = structVec.rbegin();it!= structVec.rend();it++){if(it->count == max)cout<<it->num<<" apears "<<it->count<<" times";else{break;}}getchar();getchar();return 0;}


0 0
原创粉丝点击