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