VFP编程:打印等腰杨辉三角
1、启动VFP,并设置文件存放目录
推荐使用代码方式: set default to <路径>
这里使用默认路径,就不再指定目录了
2、在 命令 窗口中打开程序编辑器
推荐使用代码方式: modify command <程序名> 创建程序
这里使用 modi comm temp 创建一个名为 temp的程序
3、****代码如下,复制本段粘贴至程序编辑器即可****
clear
input "输入杨辉三角的行数" to a
dimension t(a,a)
for i=1 to a
?space(3*(a-i))&&使用3*(a-i)是为了平衡数字位数不一导致的错位
for j=1 to i
t(i,j)=1 &&将所有的数组元素赋值为1
if not(j=1 or i=j) &&当j=1或i=j时,覆盖t(i,j)的值为下一行表达式的结果
t(i,j)=t(i-1,j-1)+t(i-1,j)
endif
??str(t(i,j),4)+space(3)
endfor
endfor
4、代码解析
为什么是3*(a-i)呢?
这主要考虑到用户在输入的时候会输出较大的数,为了平衡杨辉三角的两边,采用了3*(a-i),如果用户输入的是5以内的数字(输出的时候均为个位数),则需要2*,并且后面的
??str(t(i,j),4)+space(3)
也要改为??str(t(i,j),4)+space(2)
这里要想使用户输入较大的数并且仍能让杨辉三角保持等腰,会让程序变的较为复杂,这里不再讨论,有兴趣的读者可以自已试一试更改这几个参数
(相关参数在下图中已用紫色标记出来)