求程序问题:vb数字金字塔,输入一个n(n>0,n<10),打印金字塔的形式,从1开始逐行递增在递减回到塔底

例如在文本框中输入5,单击command则在form上显示下面图形:
1
222
33333
4444444
555555555
4444444
33333
222
1

部分程序已经写出,但是不对。
请大虾们指教谢谢!
Dim i, j, k As Integer
Private Sub Command1_Click()
Form1.Cls
n = Val(Text1.Text)
If n <= 0 Or n >= 10 Then
MsgBox "输入范围错误,请输入0—10之间的整数", , "输入错误"
Text1.Text = ""
End If
For i = 1 To n
If i <= n / 2 Then
Print Tab(10 - i);
For j = 1 To i * 2 - 1
Print Trim(Str(i));
Next j
Print
Else
k = n - i + 1
Print
End If
Next i
End Sub

Dim i As Integer
Dim j As Integer
Dim n As Integer

Private Sub Command1_Click()
Form1.Cls
n = Val(Text1.Text)
If n <= 0 Or n >= 10 Then
MsgBox "输入范围错误,请输入0—10之间的整数", , "输入错误"
Text1.Text = ""
End If
For i = 1 To n
Print Tab(10 - i);
For j = 1 To i * 2 - 1
Print Trim(Str(i));

Next j

Next i
For i = n - 1 To 1 Step -1
Print Tab(10 - i);
For j = 2 * i - 1 To 1 Step -1
Print Trim(Str(i));
Next j
Next i

End Sub
温馨提示:内容为网友见解,仅供参考
无其他回答

...n<10),打印金字塔的形式,从a开始逐行递增在递减回到塔底
Dim j As Integer Dim n As Integer Private Sub Command1_Click()Form1.Cls n = Val(Text1.Text)If n <= 0 Or n >= 10 Then MsgBox "输入范围错误,请输入0—10之间的整数", , "输入错误"Text1.Text = ""End If For i = 1 To n Print Tab(10 - i);For j = 1 To i *...

求完整编程(打印数字金字塔)
编写程序以实现打印数字金字塔。程序流程如下:1. 定义三个变量a, b, n,分别表示循环计数器、空格数量和行数。2. 输入n值,即金字塔的行数。3. 使用外层循环控制行数,从1到n。4. 内层循环控制每行中数字的打印位置,从1到当前行数a。5. 每次循环打印数字b,并在其后空格。6. 再使用内层循...

用Win-TC编程序功能是输入n(0<n<10)后,输入一个数字金字塔。
两个for循环 一个控制输出行数 一个控制输出数字

用python打印数字金字塔
num=eval(input('请输入一个整数:'))print('数字金字塔显示如下:')level= 1 #金字塔的高度即层数 while level <= num:kk=1 #每一层长度的计数 t=level length=2*t-1 while kk<=length:if kk==1:if kk==length:print(format(t,str(2*num-1)+'d'),'\\n')break 要形成金字塔型,...

用vb编写数字金字塔 并且每行的数字要相同
Private Sub Command1_Click()n = CInt(InputBox("N="))Print "n="; n For i = 1 To n Print Tab(n + 1 - i);For j = 1 To 2 * i - 1 Print Chr(48 + i);Next j Print Next i End Sub

编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。_百度...
include <stdio.h>int N;void py( int n ){if ( n > 0){int i;py( n-1 ); \/\/先输出前边的数for(i=0;i<N-n;i++ ) \/\/输出前导空格,这里N是全局变量,表示最大的数printf(" ");for(i=1;i<n;i++ ) \/\/1到n-1printf("%d",i );for(;i>=1;i-- )printf("%d",...

VB中数字金字塔 样式为:1 121 12321 1234321 以此类推,请问这个程序该...
Private Sub Command1_Click()For i = 1 To 9 Print Spc(9 - i);For j = 1 To i Print Chr(48 + j);Next j For j = i - 1 To 1 Step -1 Print Chr(48 + j);Next j Print Next i End Sub

vb问题 打印数字金字塔的一段代码,请哪位给我解释一下,要详细一点。
用于控制每行的打印列数 Print Tab(10 - i); ’定位首个打印字符的位置。这里可以使用spc(10-i),可以获得相同的效果 Next For j = 1 To i ‘打印字符 Print Trim(j); Next For k = j - 2 To 1 Step -1 ‘打印另一组字符 Print Trim(k); Next Print ’换行 Next End Sub ...

打印数字金字塔的PASCAL程序
1.WHILE循环的执行形式 WHILE 布尔表达式 DO 语句 例如:k:=10;WHILE k>0 DO BEGIN Writeln (k);k:=k-1 END;其中 (1)WHIlE 和DO是PASCAL保留关键字,是WHILE循环语句的组成部分。(2)保留关键字DO后面的“语法”只能是一条语句,称为“循环体”;如果循环 体中需要包含多个语句则应该如上例...

vfp打印数字金字塔。 clear\/input"input n(1-9):" to n\/for i=
do while .t.clear input"input n(1-9):" to n if BETWEEN(n,1,9)exit endif enddo for i=1 to n for j=1 to i ??ALLTRIM(STR(i))endfor ?endfor 输入结果:1 22 333 4444 55555 ...

相似回答