C语言 求助大神,众数代码如何写?

2025-05-07 01:57:18
推荐回答(4个)
回答(1):

/************************************************
实现这个功能的这段代码可以这样写:
我已经测试过了
************************************************/
#include
#include
struct F
{
int n; //出现的次数
int num;
}b[20]; //记录数组中数字分别出现的次数和对应的数字
void fun()
{
int a[20]; //记录输入的数据
int MaxNum; //记录众数
static int n=0; //记录输入的数字个数
cout<<"输入一组数字(以-10结束):"< int num;
while(cin>>num)
{
if(num==-10)
{
cout<<"输入结束!!!"< break;
}
a[n++]=num;
}

for(int i=0;i {
int t=a[i];
int count=0;
for(int j=0;j if(t==a[j])
count++;
b[i].n=count;
b[i].num=t;
}
cout< MaxNum=b[0].n;
int NUM;
for(int p=1;p if(b[p].n>MaxNum)
{
MaxNum=b[p].n;
NUM=b[p].num;
}
cout<<"出现次数最多的数字是:"<
}
int main()
{
fun();
return 0;
}

回答(2):

给个思路你吧。可以先计算每个数出现的次数,再找次数最多的那个或几个数

回答(3):

可以先排个序,再按从小到大找

回答(4):

楼上说得蛮好的,我就直接酱油走过了。排序比较简单好理解,要我就选择这个了……