求N个整数的平均数、众数和中位数 用pascal,我只学过pascal
求N个整数的平均数、众数和中位数 用pascal,我只学过pascal求N个整数的平均数,众数和中位数.小知识:* 众数 如有9个数:17 13 17 9 17 17 3 16 17 17出现的次数最多,即为这组数的众数.* 中位数 如有9个数:102 170 96 90 97 106 110 182 100 将这9个数按一定的顺序(从大到小或从小到大)排列后得到: 182 170 110 106 102 100 97 96 90 正中间的一个数是102,102是这组数的中位数. 而这10个数:106 99 104 120 107 112 33 102 97 100 按一定顺序排列后得到:120 112 107 106 104 102 100 99 97 33 正中间有两个数:104 102,中位数就是这两个数的平均数,即(104+102)/ 2 = 103.输入第一行为整数N(5
最佳回答
program DoingData;
var
n :longint;
sum:longint;
n1 :real;
n2 :longint;
n3 :real;
a :array[0。。1000] of longint;
f :array[0。。100] of longint;
procedure input();
var
i:longint;
begin
readln(n);
sum:= 0;
for i:= 1 to n do
begin
read(a[i]);
inc(f[a[i]]);
inc(sum,a[i]);
end;
end;
procedure print_n1();
begin
n1:= sum / n;
write(n1:0:2,' ');
end;
procedure print_n2();
var
max:longint;
i :longint;
begin
max:= f[1];
for i:= 2 to n do
if f[i] > max then
begin
max:= f[i];
n2:= i;
end;
write(n2,' ');
end;
procedure print_n3();
var
mid1:longint;
mid2:longint;
procedure qsort(s,e:longint);
var
i,j,mid:longint;
begin
i:= s;
j:= e;
mid:= a[(i + j) div 2];
while i mid do
inc(i);
while a[j] < mid do
dec(j);
if i s then qsort(s,j);
end;
begin
qsort(1,n);
if odd(n) then
writeln(a[(1 + n) div 2])
else
begin
mid1:= a[(1 + n) div 2];
mid2:= a[(1 + n) div 2 + 1];
n3:= (mid1 + mid2) / 2;
writeln(n3:0:1);
end;
end;
begin
input;
print_n1;
print_n2;
print_n3;
end。
再问: 还是错的,不信你看: 运行编号 用户 问题 结果 内存 耗时 语言 代码长度 提交时间 471692 pengbo 1180 答案错误11% 232 16 Pascal 2147 B 2012-01-25 07:52:50
再答: begin qsort(1, n); if odd(n) then writeln(a[(1 + n) div 2]) else begin ******** mid1:= a[(1 + n) div 2]; ******** mid2:= a[(1 + n) div 2 + 1]; n3:= (mid1 + mid2) / 2; writeln(n3: 0: 1); end; end; 有*的地方改成mid1:= a[n div 2]; mid2:= a[n div 2 + 1]; 再试试,应该对了
再问: 还是错的: 用户 问题 结果 内存 耗时 语言 代码长度 提交时间 pengbo 1180 答案错误11% 232 20 Pascal/Edit 2197 B 2012-01-26 07:45:59
再答: procedure print_n2(); var max: longint; i : longint; begin max:= f[1]; ******n2:= 1; 这里加上 for i:= 2 to n do if f[i] > max then begin max:= f[i]; n2:= i; end; write(n2, ' '); end;
再问: 还错的: pengbo 1180 答案错误22%
再答: 求网址,自己调
再问: oj。jzxx。net
var
n :longint;
sum:longint;
n1 :real;
n2 :longint;
n3 :real;
a :array[0。。1000] of longint;
f :array[0。。100] of longint;
procedure input();
var
i:longint;
begin
readln(n);
sum:= 0;
for i:= 1 to n do
begin
read(a[i]);
inc(f[a[i]]);
inc(sum,a[i]);
end;
end;
procedure print_n1();
begin
n1:= sum / n;
write(n1:0:2,' ');
end;
procedure print_n2();
var
max:longint;
i :longint;
begin
max:= f[1];
for i:= 2 to n do
if f[i] > max then
begin
max:= f[i];
n2:= i;
end;
write(n2,' ');
end;
procedure print_n3();
var
mid1:longint;
mid2:longint;
procedure qsort(s,e:longint);
var
i,j,mid:longint;
begin
i:= s;
j:= e;
mid:= a[(i + j) div 2];
while i mid do
inc(i);
while a[j] < mid do
dec(j);
if i s then qsort(s,j);
end;
begin
qsort(1,n);
if odd(n) then
writeln(a[(1 + n) div 2])
else
begin
mid1:= a[(1 + n) div 2];
mid2:= a[(1 + n) div 2 + 1];
n3:= (mid1 + mid2) / 2;
writeln(n3:0:1);
end;
end;
begin
input;
print_n1;
print_n2;
print_n3;
end。
再问: 还是错的,不信你看: 运行编号 用户 问题 结果 内存 耗时 语言 代码长度 提交时间 471692 pengbo 1180 答案错误11% 232 16 Pascal 2147 B 2012-01-25 07:52:50
再答: begin qsort(1, n); if odd(n) then writeln(a[(1 + n) div 2]) else begin ******** mid1:= a[(1 + n) div 2]; ******** mid2:= a[(1 + n) div 2 + 1]; n3:= (mid1 + mid2) / 2; writeln(n3: 0: 1); end; end; 有*的地方改成mid1:= a[n div 2]; mid2:= a[n div 2 + 1]; 再试试,应该对了
再问: 还是错的: 用户 问题 结果 内存 耗时 语言 代码长度 提交时间 pengbo 1180 答案错误11% 232 20 Pascal/Edit 2197 B 2012-01-26 07:45:59
再答: procedure print_n2(); var max: longint; i : longint; begin max:= f[1]; ******n2:= 1; 这里加上 for i:= 2 to n do if f[i] > max then begin max:= f[i]; n2:= i; end; write(n2, ' '); end;
再问: 还错的: pengbo 1180 答案错误22%
再答: 求网址,自己调
再问: oj。jzxx。net
最新回答共有2条回答
-
2026-04-06 19:17:23烂漫的泥猴桃
回复program DoingData;varn :longint;sum:longint;n1 :real;n2 :longint;n3 :real;a :array[0。。1000] of longint;f :array[0。。100] of longint;procedure input();vari:longint;beginreadln(n);sum:= 0;for i:= 1 to n dobeginread(a[i]);inc(f[a[i]]);inc(sum,a[i]);end;end;procedure print_n1();beginn1:= sum / n;write(n1:0:2,' ');end;procedure print_n2();varmax:longint;i :longint;beginmax:= f[1];for i:= 2 to n doif f[i] > max thenbeginmax:= f[i];n2:= i;end;write(n2,' ');end;procedure print_n3();varmid1:longint;mid2:longint;procedure qsort(s,e:longint);vari,j,mid:longint;begini:= s;j:= e;mid:= a[(i + j) div 2];while i mid doinc(i);while a[j] max then begin max:= f[i]; n2:= i; end; write(n2, ' '); end;再问: 还错的: pengbo 1180 答案错误22% 再答: 求网址,自己调再问: oj。jzxx。net
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
