回 帖 发 新 帖 刷新版面

主题:请教下面的两道填空题

1.用计算机模拟选举。全班50位同学要从10位候选人(编号分别为1——10)中投票选出5位学习标兵,并把他们的编号和票数按得票数由高到低的顺序输出。

输入样例        输出样例
无需输入        7:10     5:8     2:6     4:6     6:4


program test1_45;
var k,j,ph,tem:integer;
    ps, bh:array[1..10] of integer;
begin
  randomize;
  for k:=1 to 10 do begin ps[k]:=0; _________________________ end;
  for k:=1 to 50 do
    begin
      ph:=1+round(9*random);
      ps[ph]:=_________________________
    end;
    for k:=1 to 9 do
      for j:=k+1 to 10 do
        if __________________________ then
           begin
             tem:=ps[k];ps[k]:=ps[j];ps[j]:=tem;
             tem:=bh[k];bh[k]:=bh[j];bh[j]:=tem;
           end;
    for k:=1 to 5 do write(bh[k]:5,':',ps[k]);
    writeln
end.


2.有一个数列,第一个数为1,第二个数为2,其后每一个数均是前两个数之和,请以每行10个数的格式从小到大打印此数列,打印的最大数不超过2000。

var x,y,z,n:integer;
begin
  x:=1;y:=1;n:=2;write(x:6,y:6);z:=x+y;
  while _____________________ do
    begin
      if n mod 10=0 then writeln;
      write(z:6); n:=n+1;
      x:=y;y:=z; ________________________
    end;
end.

回复列表 (共4个回复)

沙发

第一题:
1 ph[k]:=k;
2 ps[ph]+1;
3 ps[k]<ps[j]

第二题:
1 z<=2000
2 z:=x+y

顺便说一下,第二题的倒数第四行n:=n=1;应改为n:=n+1;

板凳

谢谢, 请问为什么第一题运行到ph[k]:=k;报错121?

3 楼

ph?
不是只有ps和bh吗?

4 楼

[quote]第一题:
1 ph[k]:=k;
[/quote]
你不是说这个答案吗?
是不是应该改成bh[k]:=k;谢谢.

我来回复

您尚未登录,请登录后再回复。点此登录或注册