c++问题(输入n个数,把出现最多的那个数找出来),请高手指教!若满意将加分答谢!(用数组知识)

来源:百度知道 编辑:UC知道 时间:2024/05/16 21:48:45

先排序,再找次数最多的

#include<iostream>
using namespace std;
int number[50];
int cmp(const void *a,const void *b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int n;
int i;
int max;
int maxOccurTime;
int occurTime;
cin>>n;
for(i = 0; i < n; i++)
{
cin>>number[i];
}
qsort(number,n,sizeof(int),cmp);
max = number[0];
maxOccurTime = 1;
occurTime = 1;
for(i = 1; i < n; i++)
{
if(number[i] == number[i-1])
{
occurTime++;
}
else
{
occurTime = 1;
}
if(occurTime > maxOccurTime)
{
max!=number[i]? max=number[i]:1;
maxOccurTime = occurTime;
}
}
cout<<"出现次数最多的数字是: "<<max<<endl;
cout<<"出现次数为: "<<maxOccurTime<<endl;

return 0;
}

//输入以$号结束
#include &l