E. 实验7-1-9 求整数序列中出现次数最多的数

74 阅读1分钟
E. 实验7-1-9 求整数序列中出现次数最多的数
题目描述

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。


输入

输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。


输出

在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。


样例查看模式 
正常显示
查看格式
输入样例1 
10 3 2 -1 5 3 4 3 0 3 2
输出样例1
3 4
#include<stdio.h>
#include<string.h>
int main()
{
	int n,num[1005],num_[1005],i,j,z,x,count=0,max,index;
	memset(num_,0,sizeof(num_));
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&num[i]);
	}
	for(j=1;j<n;j++)
	{
		for(z=j-1;z>=0;z--)
		{
			if(num[j]==num[z])
			{
				num_[count]++;
			}
			
		}
		count++;
	}
	max=num_[0];
	for(x=0;x<n;x++)
	{
		if(num_[x]>max)
		{
			max=num_[x];
			index=x;
		}
	}
	printf("%d %d",num[index+1],num_[index]+1);
	
	return 0;
 } 

这里我的想法是:我定义两个数组,其中一个用来储存得到的数字,另外一个我用来储存每一个数字之前重复出现的次数,再在这个数组中找到重复次数最多的那个位置(也可以得到这个数字的下标),最后输出即可