中间数——精选推荐

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中间数
问题描述】
【问题描述
在统计学的世界中,中间数(median)扮演⼀个重要的⾓⾊。

根据定义:中间数就是在⼀连串已由⼩到⼤排序的数字中,排在中间的那⼀个数。

例如:在{1,3,4,9,11}中4就是中间数。

若有偶数个数字,我们定义中间数就是位于中间的那2个数的和除以2(⽽且只取整数部分)。

例如:在{1,2,3,6,7,8}中{3,6}是位于中间的2个数,所以中间数就是(3+6)/2=4。

输⼊⽂件】
【输⼊⽂件
输⼊⽂件med.in第⼀个为整数N(N<=3000),表⽰有N个整数。

从第⼆⾏开始,有N个整数,数据间⽤空格隔开。

输出⽂件】
【输出⽂件
输出⽂件med.out仅⼀⾏,输出这些数的中间数。

【样例输⼊1】
6
1 3 4
2
3 27
【样例输出1】
3
【代码】
var n,i,j:integer;
m,tihuan:longint;
shuru:array[1..3000] of longint;
begin
assign(input,'med.in');
assign(output,'med.out');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do
begin
read(m);
shuru[i]:=m;
end;
for i:=1 to n-1 do
for j:=2 to n do
if shuru[i]>shuru[j] then begin
tihuan:=shuru[i];
shuru[i]:=shuru[j];
shuru[j]:=tihuan;
end;
if odd(n)=true then writeln(trunc(shuru[n div 2+1]))
else writeln((trunc(shuru[n div 2]+shuru[n div 2+1])/2));
close(input);
close(output);
end.。

相关文档
最新文档