参考代码一本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。
输出格式:
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
输入样例:
10 3 2 -1 5 3 4 3 0 3 2
输出样例:
3 4
参考代码一
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n],b[n];
for(int i=0;i<n;i++)
{
b[i]=0;
scanf("%d",&a[i]);
for(int j=0;j<=i;j++)
{
if(a[j]==a[i])
b[i]++;
}
}
int max=1;
int t=0;
for(int i=0;i<n;i++)
{
if(max<b[i])
{
max=b[i];
t=i;
}
}
printf("%d %d",a[t],b[t]);
return 0;
}
参考代码二
#include<stdio.h>
int main()
{
int n;
int max=0;
int count=0;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
int t = 0;
for(int j=0;j<n;j++)
{
if(a[i]==a[j])
{
t++;
}
}
if(t>count)
{
count=t;
max=a[i];
}
}
printf("%d %d",max,count);
return 0;
}
参考代码三
#include<stdio.h>
int main()
{
int n;
int max=0;
int count=0;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
int t = 0;
for(int j=0;j<=i;j++)
{
if(a[i]==a[j])
{
t++;
}
}
if(t>count)
{
count=t;
max=a[i];
}
}
printf("%d %d",max,count);
return 0;
}