生成一个n阶的螺旋方阵.下面是一个5阶螺旋方阵示例:(VB)

(顺时针旋进)1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9.

第1个回答  推荐于2016-08-03

Private Sub Command1_Click()

    Dim n As Integer 'n阶

    n = Int(Val(Text1.Text))

    Dim a() As Integer    'n阶方阵

    ReDim a(n, n)

    

    Dim r As Integer '方阵圈数

    If n Mod 2 = 0 Then

        r = n / 2

    Else

        r = n \ 2 + 1

    End If

    

    Dim i As Integer, j As Integer, num As Integer

    

    num = 0

    For i = 1 To r

        For j = i To n - i + 1 '第i圈top排

            num = num + 1

            a(i, j) = num

        Next

        For j = i + 1 To n - i + 1 '第i圈right排

            num = num + 1

            a(j, n - i + 1) = num

        Next

        For j = n - i To i Step -1 '第i圈bottom排

            num = num + 1

            a(n - i + 1, j) = num

        Next

        For j = n - i To i + 1 Step -1 '第i圈left排

            num = num + 1

            a(j, i) = num

        Next

    Next

    

    For i = 1 To n

        For j = 1 To n

            Print a(i, j);

        Next

        Print

    Next

End Sub

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网