vb怎样打出“*”号倒三角形来?

*********PrivateSubForm_Click()Dimi,jAsIntegern=InputBox("输入数字n打印图形")Fori=1TonStep-1P... *****
***
*
Private Sub Form_Click()
Dim i, j As Integer

n = InputBox("输入数字n 打印图形")
For i = 1 To n Step -1
Print Tab(n - i + 1)
For j = 1 To 2 * i - 1
Print "*"
Next j
Print
Next i
End Sub
我这样编为什么不行????????
展开
 我来答
四舍五不入6
高粉答主

2020-03-24 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

可以参考下面的代码:

Private Sub Command1_Click()

Dim i As Long, j As Long

Dim strTemp As String, strXing As String

For i = 0 To 3

strXing = ""

For j = 1 To (7 - Abs(i) * 2)

strXing = strXing & "*"

Next

strTemp = Space(Abs(i)) & strXing & Space(Abs(i))

Print strTemp

Next

End Sub

扩展资料:

VB中For循环的格式:

For 循环变量 = 初值 To 终值 [Step 步长]   step 2 就是i=i+2

[循环体]

Next [循环变量]

注意:

1、当步长 > 0 时

循环执行的条件:循环变量 <= 终值

2、当步长 < 0 时

循环执行的条件:循环变量 >= 终值

强行退出 For 循环,请使用 Exit For。

参考资料来源:百度百科-Visual Basic

尘入蜓孟影食1038
推荐于2017-10-13 · TA获得超过3512个赞
知道大有可为答主
回答量:2307
采纳率:87%
帮助的人:1352万
展开全部
一、控制行首的空格数目
二、控制每行的星号数目
三、控制行数。

代码如下:
Private Sub Command1_Click()
Cls
Do
行数 = Int(InputBox("你要多少行?少于一行可以行!"))
Loop Until 行数 > 1
For i = 1 To 行数
For j = 1 To i - 1 '行首的空格
Print " ";
Next j
For j = 1 To 2 * (行数 - i) + 1 '星号数目控制
Print "*";
Next j
Print '结束本行
Next i
End Sub

答案补充,你的错误有两处,缺陷有一处。
错误1:一共三个print语句,前两个都必须在最后加上英文分号,不然不能保持在同一行。这是个功能性错误。
错误2:“for i=1 to n step -1”因为我们输入的n一般都大于1,而不得循环步长却是-1,导致循环不被执行!这是个编程逻辑上的致命错误!应该写作“for i=n to 1 step -1”
缺陷:“Dim i, j As Integer ”你的本意是声明i和j为整型变量,但结果却是j是整型变量,而i却是变体变量。索然在本程序不会出错,也不影响使用,但是个缺陷。应该写作:“Dim i As Integer, j As Integer”
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网海1书生
科技发烧友

2009-12-12 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
最简单的代码是:
Private Sub Form_click()
Dim n As Integer, i As Integer
n = InputBox("输入数字n 打印图形")
For i = 1 To n
Print Space(i - 1) & String((n - i) * 2 + 1, "*")
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幻星四草
2020-03-18
知道答主
回答量:2
采纳率:0%
帮助的人:1057
展开全部
倒三角形1-9行,题目要求双循环
Private Sub Command1_Click()
Dim a%, b%, c%
c = Val(Text1.Text) 'text1.text是输入有几行
For a = c To 1 Step -1
Print Tab(-(a - 10));
For b = 1 To 1
Print String(a + (a - 1), "*")
Next b
Next a
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式