朋友圈点赞/类型统计/找出出现最多的数 C/C++
相关知识 本关的程序实现可以边输入,边统计每个标签出现的次数,标签最多可能会有1000个,用数组很合适。统计完之后,再查找其中出现次数最多的最大标签即可。
编程要求
k表示该文章的标签数,1≤k≤10,即每篇文章最多10个标签; Sk是标签,是1到1000之间的整数,即总共有不超过1000种标签。
所有数值之间以空格分隔。
例如: *4 3 889 233 2 5 100 3 233 2 73 4 3 73 889 2 2 233 123 输出结果为:233 3
上述示例中出现最多次(3次)的标签有233和2,存在并列时,输出最大的那个标签233,然后输出其出现的次数3。
测试说明 平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:
测试输入:
4 3 889 233 2 5 100 3 233 2 73 4 3 73 889 2 2 233 123 预期输出:233 3
测试输入: 8 3 12 45 2 4 1 334 45 7 3 7 12 8 2 2 12 5 45 67 2 3 1 3 23 12 6 2 12 2 4 45 12 7 8 预期输出:12 6
开始你的任务吧,祝你成功!
#include<iostream> #include<cstdio> #include<iomanip> #include<cstdlib> #include<string.h> #include<math.h> #define llu unsigned long long using namespace std; int main() { cout << fixed << setprecision(0); //cout << setw(8) << setiosflags(ios::left); int N,k,s,num=0,max,a[1005]={ 0};//num记录当前出现的最多次数,max记录当前出现最多次数的数 cin >> N ; for(int i=0;i<N;i++) { cin >> k ; for(int j=0;j<k;j++) { cin >> s; a[s]++; } } for(int i=0;i<1005;i++)//从一堆数据里找到出现次数最多的数以及出现的次数 { if(a[i]>num){ num=a[i]; max=i; } else if(a[i]==num&&i>max){ num=a[i]; max=i; } } cout << max << " " << num << endl ; return 0; }