回 帖 发 新 帖 刷新版面

主题:把答案拿上来有奖励

题目是这样的:要写个程序,要求用键盘输入3x3的二维数组,然后电脑随即找2个位子,然后那2个位子里的数字对换。多少次没说,就说要把数组顺序打乱。
如果搞不懂的话告诉我怎么把打进去的数组存到相应的位置或者怎么输出也可以

回复列表 (共1个回复)

沙发

program try;
var a:array [1..3,1..3] of longint;
    i,j,ii,x,y,x2,y2,t:longint;
begin
  for i:=1 to 3 do
    for j:=1 to 3 do
      read(a[i,j]);
  randomize;
  writeln('请输入转换次数:');
  readln(cishu);
  for ii:=1 to cishu do
  begin
    repeat
     x:=random(4);
     y:=random(4);
     x2:=random(4);
     y2:=random(4);
    until (x<>x2) and (y<>y2) and (x>0) and (y>0);
    t:=a[x,y];
    a[x,y]:=a[x2,y2];
    a[x2,y2]:=t;
    for i:=1 to 3 do
    begin
      for j:=1 to 3 do
        write(a[i,j],' ');
      writeln;
    end;
  end;
  writeln('End!');
end.

我来回复

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