VB题!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:06:54
在form1中,建一个text1和command1;

当在text1中输入1,屏幕输出:
1
当在text1中输入2,屏幕输出:
1 2
4 3
当在text1中输入3,屏幕输出:
1 2 3
8 9 4
7 6 5
当在text1中输入4,屏幕输出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

... ...
以此类推。。。

Option Explicit
Private Sub Command1_Click()
Dim N As Integer, i As Integer, k1 As Integer, k2 As Integer, k3 As Integer, k4 As Integer
Dim bb() As Integer, Jsq As Integer
'下面开始计算
N = Val(Text1.Text)
If N < 1 Or N > 32767 Then
MsgBox "数据必须在1-32767之间!"
Exit Sub
End If
ReDim bb(1 To N, 1 To N)
Jsq = 1
For i = 1 To N \ 2 + IIf((N Mod 2) = 0, 0, 1)
For k1 = i To N - i + 1
bb(i, k1) = Jsq
Jsq = Jsq + 1
Next
For k2 = i + 1 To N - i + 1
bb(k2, N - i + 1) = Jsq
Jsq = Jsq + 1
Next
For k3 = N - i To i Step -1
bb(N - i + 1, k3) = Jsq
Jsq = Jsq + 1
Next
For k4 = N - i To i + 1 Step -1
bb(k4, i) = Jsq
Jsq = Jsq + 1
Next
Next
'下面开始输出
Me.Cls
For i = 1 To N
For k1 = 1 To N
Print bb(i, k1),
Next
Print
Next
End Sub

完整解决!请将以下代码复制到开头处,不是过程中!
本人最近学C++ 也“继承”了C++的过程 呵呵……