朋友圈点赞/类型统计/找出出现最多的数 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;
}
经验分享 程序员 微信小程序 职场和发展