请VB高手帮我解答一下

来源:百度知道 编辑:UC知道 时间:2024/05/31 20:52:43
代码是这样的:
private sub form_click()
dim n as integer, i as integer,k as integer, j as integer
do
n = inputbox("请输入1个1至9之间的整数")
loop until 0<n and n<10
k = 10 :j =1
for i=1 to 10
print space(k); string(j,trim(str(i))
if i<= n/2 then
k=k-1 :j=j+2
else
k=k+1 : j=j-2
end if
end sub
题目是:1)若运行时输入n值为2,窗体上显示结果为? 2)若运行时输入n值为3。窗体上显示结果为? 3)若……为4,结果为?

希望高手仔细的帮我解释一下,越详细越好。还有那句print space(k); string(j,trim(str(i)) 是什么意思? 该怎么做? 谢谢了!!!

1. 以下答案应该是居中对齐的,百度知道把空格过滤了所以无法显示。
1
222
3

2. 以下答案应该是居中对齐的,百度知道把空格过滤了所以无法显示。
1
222
3

3. 以下答案应该是居中对齐的,百度知道把空格过滤了所以无法显示。
1
222
33333
444
5

4.print space(k); string(j,trim(str(i)) :
先打印长度为k的空格,然后接着打印长度为j的字符(字符内容是 把i转换成字符并去掉两端空格 的内容)

数字转成字符会在两边多处空格,所以要用trim去掉 否则呵呵就是
空格2空格空格2空格空格2……(空格为 )。

另外ps一句:这个代码执行的时候可能会出现问题(j可能为负数,那么string一句就会出错;还有string一句好像少了一个关括号?)