vb 解题过程 Option Base 1 Private Sub Command1_Click() Dim s() As Integer i j k n as integer

Dimkasinteger,nasintegern=3Redims(n,n)i=1j=ns(i,j)=1ForK=1Ton*n-1Ifi+1>nTheni=n-j+2j=... Dim k as integer ,n as integer
n=3
Redim s (n,n)
i=1 j=n
s(i,j) =1
For K =1 To n*n-1
If i+1>n Then
i=n-j+2 j=1
Else if i+1<=n and j+1>n then
j=j-i i=1
else i=i+1 j=j+1
end if
s(i,j)=k
next k
for i =1 to n
for j=1 to n
prints(i,j)
next j
print
next i
end sub
帮我点播一下 只要懂 可以加分啊
展开
 我来答
mahu98
2011-09-28 · TA获得超过147个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:54.8万
展开全部

Option Base 1

Private Sub Command1_Click()

   Dim s() As Integer

   Dim k As Integer, n As Integer

   n = 3

   ReDim s(n, n)

   i = 1: j = n

   s(i, j) = 1

   For k = 1 To n * n - 1

         If i + 1 > n Then

              i = n - j + 2: j = 1

         ElseIf i + 1 <= n And j + 1 > n Then

           j = j - i: i = 1

         Else

          i = i + 1: j = j + 1

         End If

         s(i, j) = k

   Next k

   For i = 1 To n

      For j = 1 To n

         Print s(i, j),

     Next j

    Print

   Next i

End Sub

运行结果:

limyyan890609
2011-09-28 · TA获得超过1564个赞
知道小有建树答主
回答量:1484
采纳率:100%
帮助的人:873万
展开全部
For k = 1 To n * n - 1
If i + 1 > n Then
i = n - j + 2: j = 1
ElseIf i + 1 <= n And j + 1 > n Then
j = j - i: i = 1
Else
i = i + 1: j = j + 1
End If
s(i, j) = k
Next k
这一部分是最重要的
当k=1,i=1,j=3 执行 ElseIf i + 1 <= n And j + 1 > n Then
j = j - i: i = 1
j=2,i=1 s(i2)=1
当k=2 i =1,j=2 执行Else
i = i + 1: j = j + 1
i=2,j=3 s(2,3)=2
当k=3 i=2,j=3 执行ElseIf i + 1 <= n And j + 1 > n Then
j = j - i: i = 1
j=1,i=1
s(1,1)=3
当k=4 i=1,j=1 执行Else
i = i + 1: j = j + 1
i=2,j=2 s(2,2)=4
楼主剩下的自己算吧 一直算到k=8 ,for循环结束,数组s(3,3)总共有9个数
不懂可追问 谢谢
追问
我好像应该懂了- -谢了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tandeping
2011-09-28 · TA获得超过361个赞
知道小有建树答主
回答量:484
采纳率:0%
帮助的人:303万
展开全部
Private Sub Command1_Click()
Dim k As Integer, n As Integer
n = 3
ReDim s(n, n)
i = 1
j = n
s(i, j) = 1
For k = 1 To n * n - 1
If i + 1 > n Then
i = n - j + 2
j = 1
ElseIf i + 1 <= n And j + 1 > n Then
j = j - i
i = 1
Else
i = i + 1
j = j + 1
End If
s(i, j) = k
Next k
For i = 1 To n
For j = 1 To n
Debug.Print i, j
Next j
Print
Next i
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式