搜索
首页 电脑/网络 程序设计

关于写PASCAL蛇形矩阵的问题

  写一个形矩阵的程序,如输入 5输出 1 2 3 4 5 以下是我写的程序program shexingjuzhen;var a : array[1。。25,1。。25] of integer; i,j,k,n,x,y,tot :integer;begin readln(n); for x :=1 to n do for y := 1to n do a[x,y]:=0; k :=n; j:=1; tot :=0; x :=1; while tot<n*n do begin for i :=tot+1 to tot+k do begin y:=y+j; a[x,y]:=i; end; tot :=tot+k; k :=k-1; for i:=tot+1 to tot+k do begin x:=x+j; a[x,y]:=i; end; j :=-j; tot :=tot+k; end; for x:= 1 to n do begin for y := 1 to n do write(a[x,y]:3); writeln; end; readln; readlnend。
  我不知道错哪里了,输出的全是0。 。

全部回答

2009-07-19

0 0
    你的y没付初值 for x :=1 to n do for y := 1to n do a[x,y]:=0; k :=n; j:=1; tot :=0; x :=1; 这里因为y加入循环 循环末值为n 这就相当于y:=n=5 你的输出是1 to n 当然没输出 要把y付为0就可以了 ------------------------------------- 注:程序风格要注意,for 和while最好要有缩进 帮你改了下 program shexingjuzhen; var a : array[1。
    。25,1。。25] of integer; i,j,k,n,x,y,tot :integer; begin readln(n); for x :=1 to n do for y := 1to n do a[x,y]:=0; k :=n; j:=1; tot :=0; x :=1; y:=0; while tot<n*n do begin for i :=tot+1 to tot+k do begin y:=y+j; a[x,y]:=i; end; tot :=tot+k; k :=k-1; for i:=tot+1 to tot+k do begin x:=x+j; a[x,y]:=i; end; j :=-j; tot :=tot+k; end; for x:= 1 to n do begin for y := 1 to n do write(a[x,y]:3); writeln; end; readln; readln end。
     多给我+点分吧 。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
程序设计
硬件
电脑装机
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
程序设计
VB
数据库
C/C++
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
举报
举报原因(必选):
取消确定举报