数组的相关题目练习2
题1:求整数序列中出现次数最多的数
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。
输出格式:
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
输入样例:
10 3 2 -1 5 3 4 3 0 3 2
输出样例:
3 4
思路:
依次取数组中的每个元素与自身数组里的元素比较(即两次遍历循环),将比较的数据出现的次数记录下来,待下次循环时,将次数清零,待下次循环结束后将本次出现的次数与上次循环的次数比较,若大于,则数据替换,直至循环结束,记录下出现次数最多的数据。
解答:
#include<stdio.h>
int main()
{
int i,j,n;
int max,b=0,t;
int a[1000];
printf("请输入数据个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
int m=0;
for(j=0;j<n;j++)
{
if(a[i]==a[j])
{
m++;
}
}
if(m>b)
{
t=a[i];
b=m;
}
}
printf("%d %d\n",t,b);
return 0;
}