切换到宽版
  • 6159阅读
  • 2回复

谁能帮我解这三道程序阅读题?谢谢! [复制链接]

上一主题 下一主题
离线newlivehui
 
只看楼主 倒序阅读 0 发表于: 2011-10-06

program p4;
var
  a,b:array[1..32]of integer;
  i:integer;
procedure ssort(i,j:integer);
var
   m,k,x:integer;
begin
  if  j - i >1 then  begin
m:=(i+j) div 2;
ssort(i,m);
ssort(m+1,j);
k:=i;
for x:=i to m do  
begin
   b[k]:=a[x];b[k+1]:=a[m+x-i+1];
   k:=k+2;
end;
for x:=i to j do  a[x]:=b[x];
   end;
end;
begin
   for i:=1 to 16 do a[ i ]:=i;
   ssort(1,16);
   for i:=1 to 16 do write(a:3);
   writeln;
end.
输出:


program  no2;
const  
   d:array[0..3,1..4]of integer=((4,7,10,13),(1,8,11,14),(2,5,12,15),(3,6,9,16));
var
   i,j,a,x,k,bj:integer;
   y,u,v:real;
begin
   for i:=1 to 4 do
begin
   a:=3-i;bj:=0;
   for j:=0 to 3 do
   for k:=1 to 4 do
    begin
      x:=d[j,k];u:=(x+a)/4;v:=(x+trunc(u))/4;y:=4*(v-trunc(v));
if y<>j then  begin  k:=4;j:=3;bj:=1;end;
end;
if bj=0 then begin
                write(‘U+(X’);
                if a>0 then write(‘+’);
                    writeln(a,’)/4’);
              end;
  end;
end.
结果:


program  no3;const  a:array[1..10]of integer =(8,2,7,4,6,9,3,5,3,8);
type  point=^nod;         nod=record
w:integer;right,left:pointend;
var  first,head:point;j,i,k:integer;
procedure  hyt(d:integer;var p:point);begin
   if p=nil then beginnew(p);
if k=1 then  begin  first:=p;k:=2;end;with p^ do  begin  w:=d;right:=nil;left:=nil end;
end     else with p^ do    if d>=w then hyt(d,right) else hyt(d,left);
end;procedure hyt1(p:point);
begin   with p^ do
begin  if left<>nil  then hyt1(left);
write(w:4);if right<>nil then hyt1(right);
end;end;
begin    i:=10;   first:=nil;k:=1;
   for j:=1 to i do hyt(a[j],first);hyt1(first);writeln
end.结果:
离线stevenjl

只看该作者 1 发表于: 2011-10-06
。。。。。为什么不用电脑跑一跑。。。
Dream Walker...
离线newlivehui
只看该作者 2 发表于: 2011-10-06
第二题运行结果是失败
快速回复
限100 字节
 
上一个 下一个