pascal编写一个程序

均分计算计算比赛的得分,求去掉最高分和最低分后的平均分。输出格式分两行,第一行,一个正整数n(n<=100),表示评委的人数第二行,n个正整数,分别表示n个评委为选手打的... 均分计算
计算比赛的得分,求去掉最高分和最低分后的平均分。
输出格式 分两行,第一行,一个正整数n(n<=100),表示评委的人数
第二行,n个正整数,分别表示n个评委为选手打的分数xi(xi<=100)
输出格式 一个小数,精确到小数点后两位
展开
 我来答
百度网友a1877ca
2013-01-30 · TA获得超过509个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:163万
展开全部
var n,i,min,max,maxi,mini,s:integer;
x:array[1..100] of integer;
ans:real;
begin
readln(n);
for i:=1 to n do read(x[i]);
min:=100;max:=0;
for i:=1 to n do begin
if x[i]>max then begin max:=x[i];maxi:=i;end;
if x[i]<min then begin min:=x[i];mini:=i;end;
end;
x[maxi]:=0;x[mini]:=0;s:=0;
for i:=1 to n do s:=s+x[i];
n:=n-2;
ans:=s/n;
writeln(ans:0:2);
end.
这样就避免了排序了,尤其在数据量很大的情况下,我这种算法时间和空间效率要比楼上高得多
_whales
2013-02-15 · TA获得超过2279个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:512万
展开全部
program CalcScores;
var n,i,maxSc,min: integer;
aver:double;
scare :array[1..100] integer;
begin
n:=3;
while n>2 do begin { 评委不足两人,无法计算 }
readln(n); { 评委人数 }

if(n> 2 && n<=100)begin

read (score[1]); { 输入第一个评委为选手打的分数 }
aver:=score[1];

min:=score[1];max=score[1];
for i:=2 to n do begin
read (score[i]); { 输入第 i 个评委为选手打的分数 }
aver:=aver+score[i];

if imin> score[i] then min := score[i]

else if max<score[i] then max=score[i];

end;
for i:=1 to 100 do begin
write (score[i]:8:2); { 输出打的分数 }

end;
writeln;
writeln ((1.0*(aver -max-min)/(n-2)):8:2 );{ 输出平均分数 }
end;
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
马阂漫到就孩1o
2013-01-30
知道答主
回答量:9
采纳率:0%
帮助的人:5.9万
展开全部
var
n,i:longint;
av:double;
a:array[1..101] of longint;

procedure sort(l,r: longint);//这儿可以用n^2的排序,选择什么都可以,我用的是快排
Var
i,j,x,y: longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]<x do
inc(i);
while x<a[j] do
dec(j);
If Not (i > j) Then
begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i);
dec(j);
end;
until i>j;
If l < j Then
qsort(l,j);
If i < r Then
qsort(i,r);
end;

begin
readln(n);
for i:=1 to n do
begin
read(a[i]);
av:=av+a[i];
end;
sort(1,n);
av:=av-a[1]-a[n];
writeln(av/(n-2):0:2);
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
630945176
2013-01-30 · TA获得超过287个赞
知道答主
回答量:108
采纳率:0%
帮助的人:41.4万
展开全部
快排?堆排好一点。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式