热心网友

代码如下:Option ExplicitDim fnt As LongDim i As ByteDim x As IntegerDim y As IntegerDim txt As StringDim dd As VariantPrivate Function prnt(x As Integer, y As Integer, fnt As Long, txt As String)Form1。CurrentX = xForm1。CurrentY = yForm1。FontSize = fntForm1。Print txtEnd FunctionPrivate Sub Form_Load() fnt = 12 x = 3000: y = 1000 txt = "*" dd = prnt(x, y, fnt, txt) For i = 1 To 20 y = 1000 + i * 173。205 x = 3000 - i * 100 dd = prnt(x, y, fnt, txt) Next i For i = 1 To 20 y = 1000 + i * 173。205 x = 3000 + i * 100 dd = prnt(x, y, fnt, txt) Next i y = 4637。3066 For i = 1 To 22 x = 700 + i * 200 dd = prnt(x, y, fnt, txt) Next iEnd Sub答疑solidco2:代码可修改如下 Option ExplicitDim dd As VariantDim txt As StringDim fnt As ByteDim i As ByteDim j As ByteDim x As IntegerDim y As IntegerDim hg As SingleDim hs As ByteDim lj As SinglePublic Function prnt(x As Variant, y As Variant, fnt As Variant, txt As Variant)Form1。CurrentX = xForm1。CurrentY = yForm1。FontSize = fntForm1。Print txtEnd FunctionPrivate Sub Form_Load()lj = 200 '两*号间距hs = 19'hg = 200 * Sqr(3) / 2 '行距hg = 200 * Sin(3。1415926 / 3) '行距fnt = 12txt = "*"'打印*组成三边的等边三角形区域For i = 0 To hsy = 1000 + i * hgFor j = 0 To ix = 3000 - i * 100 + j * 200If j = 0 Or j = i Then '本行和往下第3,4,5行删去则打印*号组成的等边三角形区域dd = prnt(x, y, fnt, txt)ElseIf i = hs Thendd = prnt(x, y, fnt, txt)End IfNext jNext iEnd Sub 。

热心网友

正三角形?那岂不是要计算了,连字体高度宽度还有显示分辨率情况都要考虑的呀,上面的回答好像没有判断阿。