我不是电脑专业的,但却要学c++,虽然已经很努力了,但是天赋不够。苦啊!
问题同上,望高手指教!
怎样用C++编出可以求中位数的程序??
答案:3 悬赏:0
解决时间 2021-03-24 19:47
- 提问者网友:泪姬迷茫
- 2021-03-23 19:36
最佳答案
- 二级知识专家网友:一身浪痞味
- 2021-03-23 20:12
这个是数学问题啊,不是C++问题啊,
将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值
就按照这个写就是了
如果再不会的就补补基础
将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值
就按照这个写就是了
如果再不会的就补补基础
全部回答
- 1楼网友:陪我到地狱流浪
- 2021-03-23 22:21
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector <int>v;
int main(){
int n,i,t;
cin>>n;
for(i=0;i<n;i++){
cin>>t;
v.push_back(t);
}
sort(v.begin(),v.end());
if(v.size()&1)
cout<<v[v.size()/2]<<endl;
else
cout<<(v[v.size()/2]+v[v.size()/2-1])/(double)2<<endl;
return 0;
}
- 2楼网友:堕落奶泡
- 2021-03-23 20:59
将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值
再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯