C语言找出一个数组中出现次数最多的那个元素

第一行输入一个整数n(不大于20)第二行输入n个整数,找出n个整数中出现次数最多的那个整数

第1个回答  2013-05-13
#include<stdio.h>
int main()
{
int n,temp;
int i,j;
int a[20];
int b[20]={0};
printf("请输入整数的个数:\n");
scanf("%d",&n);
printf("请输入整数:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(a[i]==a[j])
b[i]=b[i]+1;
}
}
temp=0;
for(i=1;i<n;i++)
{
if(b[temp]<b[i])
{
temp=i;
}
}
printf("出现次数最多的整数:%d\n",a[temp]);
return 0;
}

求采纳……
第2个回答  2013-05-13
#include <iostream>
#define max 21
using namespace std;
int main()
{
int n,i,j;
int arr[max][2];
cin>>n;
for(i=0;i<n;i++)
{
cin>>arr[i][0];
arr[i][1]=1;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(arr[i][0]==arr[j][0])
{
arr[i][1]++;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(arr[i][1]<arr[j][1])
{
int temp;
temp=arr[i][0];
arr[i][0]=arr[j][0];
arr[j][0]=temp;
}
}
}
cout<<arr[0][0]<<endl;
return 0;
}

这样应该可以符合要求,但是我不知道你说的存不存在多个数出现次数一样的情况

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网