以下的一段程序在 VB 和 VFP 环境下均能运行,结果在屏幕上打印出一个由“*”号组成的三角形。
numLine = 10 *
For i = 1 To numLine ***
theStr = "" *****
For j = 1 To 2 * i - 1 *******
theStr = theStr + "*" *********
Next ***********
print Space(numLine - i) + theStr *************
Next ***************
*****************
*******************
侧出先一个 实心三角形 当中空出个小一点的三角形改怎么写啊~ 求算法啊~
*
* *
* *
* *
* *
* *
* *
* *
* *
*******************
或 *
***
*****
*** ***
*** ***
*** ***
*** ***
*** ***
*****************
*******************
numLine = 10 *
For i = 1 To numLine ***
theStr = "" *****
For j = 1 To 2 * i - 1 *******
theStr = theStr + "*" *********
Next ***********
print Space(numLine - i) + theStr *************
Next ***************
*****************
*******************
侧出先一个 实心三角形 当中空出个小一点的三角形改怎么写啊~ 求算法啊~
*
* *
* *
* *
* *
* *
* *
* *
* *
*******************
或 *
***
*****
*** ***
*** ***
*** ***
*** ***
*** ***
*****************
*******************
'输出20行的三角形图案,其中,中空小三解形从第三行开始
iBigRow = 20
iSmallBeginRow = 2
'输出前 iBigRow-iSmallBeginRow行
For i = 1 To iBigRow - iSmallBeginRow
If i > iSmallBeginRow Then
Me.Print String(iBigRow - i, " ") & String(iSmallBeginRow, "*") & String(2 * (i - iSmallBeginRow) - 1, " ") & String(iSmallBeginRow, "*")
Else
Me.Print String(iBigRow - i, " ") & String(2 * i - 1, "*")
End If
Next i
'补足后 iSmallBeginRow 行
For i = 1 To iSmallBeginRow
Me.Print String(iSmallBeginRow - i, " ") & String(2 * (iBigRow - iSmallBeginRow + i) - 1, "*")
Next i
Private Sub Command1_Click()
numLine = 10
For i = 1 To numLine - 1
theStr = ""
For j = 1 To 2 * i - 1
theStr = theStr + IIf(j = 1 Or j = 2 * i - 1, "*", " ")
Next
Print Space(numLine - i) + theStr
Next i
Print "*******************"
End Sub