VB上机考试习题

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:31:45
某程序的要求是第一行至第五行分别有1。3。5。7。9颗星星,而下面的第一行至第四行中分别有7,5,3,1颗星星。程序代码如下:For i = 1 To 5
For j = 1 To 6 - i
Print " ";
Next j
For j = 1 To 2 * i - 1
Print "*";
Next j
Print
Next i
For i = 1 To 4
For j = 1 To i + 1
Print " ";
Next j
For j = 1 To (9 - 2 * i)
Print "*";
Next j
Print
Next i
我对其中的部分代码:For j = 1 To 6 - i
Print " ";
和For j = 1 To i + 1
Print " "; 不理解。 请帮我解释一下,尽量详细一点,谢谢。

先说For j = 1 To 6 - i
Print " ";
功能是输出上面5行最前面的空格。公式:空格个数=6-行号。例如第2行要输出6-2=4个空格。

再说For j = 1 To i + 1
Print " ";
功能是输出下面4行最前面的空格。把第6行的行号看作1,那么公式:空格个数=行号+1.例如第6行输出2个空格。

你要是不理解,可以删除你不理解的代码,发现前面的空格都没了,你就理解了。

通俗地讲:
For j = 1 To 6 - i
Print " ";
当星星开始增多时,星星前面的空格就开始相应减少

For j = 1 To i + 1
Print " ";
当星星开始减少时,星星前面的空格就开始相应增多

print的意思是换行,楼主你在仔细看看吧。
根据这个意思、

代码:For j = 1 To 6 - i
Print " ";
next j
意思是:建立包含6 - i个空格的行;而每个打印上的*号都是接着最后的那个空格打印上去的;代码的关键在于符号“;”;加上“;”表示以行的形式输出。

代码:For j = 1 To i + 1
Print " ";
跟上面是一样的