问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 如何编个程序求一组数的中位数和众数

发布网友 发布时间:2022-04-22 09:57

我来回答

1个回答

热心网友 时间:2023-07-04 19:57

数组排序可以不用指针。你把数组定义成全局变量,比如说a[10001];然后调用我给你的快排程序就行了,这个程序可以背下来,很有用的。
void
qs(int
L,int
R)
{
int
i=L,j=R,mid=a[(L+R)/2],t;
while(i<j)
{
while(a[i]<mid)
++i;
while(a[j]>mid)
--j;
if(i<=j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
++i;
--j;
}
}
if(i<R)
qs(i,R);
if(L<j)
qs(L,j);
}
排好序之后找中位数就好办了。
至于众数,我觉得最好的方法是用bfs。但这个对你来说难度有点大,我就给你写一个hash表吧。还用上面的那个数组,且假定数组a中的最大值不超过10000,若超过,你把下面这个hash数组的范围扩大就行了。
另外,设a中有n个元素,a从1开始计数(若从0开始,你改一下就好了)
int
hash[10001]={0};
int
i,Max=0;
for(i=1;
i<=n;
++i)
{
++hash[a[i]];
if(hash[a[i]]>hash[Max])
Max=a[i];
}
最后输出Max就好了
刚t415422663倒是提醒我了,如果要判断众数有多个,我可以把上面的程序稍改一下
int
hash[10001]={0};
int
i,Max=-1;/*注意,这里把Max赋值为-1是为了防止数组a的元素个数为0时所有数据都被输出*/
for(i=1;
i<=n;
++i)
{
++hash[a[i]];
if(hash[a[i]]>Max])
Max=hash[a[i]];
}
//10000是数组a中可能出现的最大值,这个你可以自己改的
for(i=1;
i<=10000;
++i)
if(hash[i]==Max)
printf("%d\n",i);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么电脑上的word界面变小为什么WORD里面的页面变的很小怎么设置回来... AHA拯救心脏救命术(Basic Life Support,BLS) 基础生命的基本顺序 机械制图第一视角与第三视角的区别 明日之后野外感染者据点都在什么地方 感染就聚集点位置分享 明日之后 明日之后哪些地图有强力感染者? 《明日之后》野外感染者据点一览 明日之后野外感染者据点去哪找 妙洁提醒你注意:保鲜膜有些不能加热 有些不能包肉 C盘里文件的修改日期是不是就代表那天我用过电脑,我是上午用的,可文件... 海米是什么米 海米是什么? 数组135681215的中位数是什么? 乐天免税店几楼有祖马龙啊 编程求数组各元素的中位数,要求如下: 海米是什么 想问下济州岛或者浦东机场免税店有卖祖马龙香水的吗 在韩国免税店闻到的祖马龙蓝风铃和国内专柜的差别大为什么 数学中位数 matlab怎么找到一组数的中位数 祖马龙香水在迪拜免税店和法国哪个比较便宜? 两个已经排好顺序的数组a和数组b,并将比较后的数组从大到小排序,在进行大小比较时候,有两种比较思路 下图中祖马龙香水是正品吗,喷头六边形怪怪的 c++输入一维数组,求中位数 古代人生女性路线 c++编程求数组各元素的中位数 古代人生手游在哪里下载啊? 英国值得推荐的美食都有哪些 统计学怎么确定中位数组的位置 我在想,究竟是古代人生存得辛苦还是现代人 谁能告诉我 这是祖马龙哪个哪个味道吗? c语言递归计算数组中位数 海米和虾仁的区别是什么? 九鼎记是单女主吗 海米的营养价值 给两个排序好的数组,怎么求两个数组合并后的中位数 海米直接吃的危害是什么? 沃柑是凉性的还是热性的? 李珺的介绍 js取数组中位数 《九鼎记》的女主角到底叫什么? 海米泡多久 C语言 取中位数问题 沃柑为什么贵? 李珺的工作简历 海米是什么东西? 2011研究生考试,程序设计题目,求中位数。 滕青山什么时候喜欢上李珺的 海米是什么啊?。。。 滕青山什么时候对李珺有好感的?