Qbasic杨辉三角的问题!很急!

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:00:00
CLS
DIM a(11, 11)
a(1, 1) = 1
a(2, 1) = 1
a(2, 2) = 1
FOR i = 1 TO 11
a(i, 1) = 1
a(i, i) = 1
FOR j = 2 TO i - 1
a(i, j) = a(i - 1, j) + a(i - 1, j - 1)
NEXT j, i
FOR i = 1 TO 11
PRINT TAB(40 - i * 3);
FOR j = 1 TO i
PRINT USING "###"; a(i, j);
PRINT " ";
NEXT j
PRINT
NEXT i
这是程序,但是,“FOR j = 2 TO i - 1”还有
“ FOR i = 1 TO 11 ”
PRINT TAB(40 - i * 3);
FOR j = 1 TO i
PRINT USING "###"; a(i, j);
PRINT " ";

这两个地方都不明白什么意思,请懂的人帮帮我!谢谢了!我实在不明白为什么要这么写

PRINT USING "###";
是每次输出的数值占三格,用来对齐。
PRINT " ";
也用来对齐。
PRINT TAB(40 - i * 3);
来控制在那一格开始打印,也就是列。
FOR j = 2 TO i - 1
使赋值到A数组的数呈三角形。
明白了吗?

FOR j = 2 TO i - 1
FOR i = 1 TO 11
PRINT TAB(40 - i * 3);
FOR j = 1 TO i
PRINT USING "###"; a(i, j);
PRINT " ";
上面这个程序是把刚才赋值到A数组的数,由三角形输出。

TAB(x)函数是指打印x个空格,USING"###"是指把一个数按右对齐的方式,占三个格。