一道vb题有点搞不懂..大神拜托!

2025-05-10 00:29:07
推荐回答(4个)
回答1:

如果不要j,代码是这样,非常好理解吧,数组取得一个随机数并打印出来
for i=1 to 50
a(i)=int(rnd*100)
print space(2);a(i);
next
如果加上j,代码如此,作些注释
j=0’开始置0
for i=1 to 50
a(i)=int(rnd*100)
if j mod 8 =0 then print‘能被8整除,打印换行
print space(2);a(i);
j=j+1’计数增强
end if
next
如果不要j也要换行,代码如下,你的判断是对的,可以不要j,代码整洁,好理解的多
for i=1 to 50
a(i)=int(rnd*100)
if i mod 8 =0 then print‘能被8整除,打印换行
print space(2);a(i);
next

回答2:

楼上的正解,
J确实是为了控制每行打印的个数的。这里设置了每行8个数字,如果超过了就换另一行显示。
但是你给的这段代码也是有问题的。
if j mod 8 =0 then print 在一行上写着,后面就不需要 end if了。
另外:题目中要求只显示小于50的随机数,可是都没有看到任何判断,只是单纯地把随机数给显示出来了。

题目不严谨,所谓的正确答案也不严谨。

回答3:

j 在这里充当了累加计数器的角色

注意
if j mod 8 =0 then print
一句

因为 print space(2);a(i);这个输出过程是不换行的(有分号)

当J为8的倍数时,通过 if j mod 8 =0 then print 一句换一行输出,使每行最多显示8个数值

P.S.注意使用半角英文符号

回答4:

j只是为了控制一行显示8个数
[对象名].Print 输出项列表 [;|,]
print 不加;号就回车换行加;号不换行