不是VIP会员,不能显示答案

题目解答

题目:
人数统计
有二幢高楼,已知:
(1)第一幢高楼的各层上男性人数与第二幢高楼的同一层上的男性人数的差;
(2)第一幢高楼的各层上女性人数与第二幢高楼的同一层上的女性人数的差;
求第一幢高楼的各层上总人数与第二幢高楼的同一层上的总人数的差;
输入:第1行二个整数n1和n2。
第2行至第n1+1行,每行二个整数a1和b1。表示第b1层男性人数的差额为a1。
第n1+2行至第n1+n2+1行,每行二个整数a2和b2。表示第b2层女性人数的差额为a2。
输出:每行二个整数a和b,表示第b层总人数的差额为a。
请注意:
(1)输入时,如果某一层上二幢楼均没有男性(或女性),则不输入该层的差额情况
(2)输出时,如果某一层上二幢楼均没有人,则不输出该层的差额情况
(3)输入和输出时,均按照层数递增的次序。
请将程序补充完整。







program xx2010_5; 
var a1,a2,b1,b2,a,b:array[1..100]of longint;
    n1,n2,n,i,j:longint;

begin
   readln(n1,n2);
   for i:=1 to n1 do read(a1[i],b1[i]);
   for i:=1 to n2 do read(a2[i],b2[i]);
   i:=1;j:=1;        n:=1    ;
   while         (i<=n1)and(j<=n2)         do begin
      if b1[i]=b2[j] then begin
         a[n]:=      a1[i]+a2[j]           ;
         b[n]:=        b1[i]或b2[j]        ;
         i:=i+1;j:=j+1;n:=n+1;
      end else if b1[i]<b2[j] then begin
         a[n]:=a1[i];b[n]:=b1[i];
         i:=i+1;n:=n+1;
      end else begin
         a[n]:=a2[j];b[n]:=b2[j];
         j:=j+1;
         n:=n+1;
      end;
   end;
   while i<=n1 do begin
      a[n]:=a1[i];b[n]:=b1[i];
      i:=i+1;n:=n+1;
   end;
   while j<=n2 do begin
      a[n]:=a2[j];b[n]:=b2[j];
      j:=j+1;n:=n+1;
   end;
           dec(n)              ;
   for i:=1 to n do
      writeln(a[i],' ',b[i]);
end.
考点:
分析:
解答:
评论:
老师: