请教一道vb试题

[复制链接]
查看11 | 回复2 | 2011-8-10 21:34:48 | 显示全部楼层 |阅读模式
Option Base 1
Private Sub Command1_Click()

Dim a(3, 3) As Integer, i As Integer, j As Integer, k As Integer

i = 3: j = 1

a(i, j) = 1

For k = 2 To 9

If i + 1 > 3 Or j + 1 > 3 Then

If j = 1 Then

i = i - 1

ElseIf a(i - 1, j - 1) = 0 Then

i = i - 1: j = j - 1

ElseIf j = 3 Then

i = i - 1

Else

j = j + 1

End If

ElseIf j = 1 Or i = 1 Then

If a(i + 1, j + 1) = 0 Then

i = i + 1: j = j + 1

Else

j = j + 1

End If

Else

If a(i - 1, j - 1) = 0 Then

i = i - 1: j = j - 1

End If

End If

a(i, j) = k

Next k

For i = 1 To 3

For j = 1 To 3

Print a(i, j);

Next j

Print

Next i
End Sub
题目是让求运行结果。
我不明白 既然 k= 2 to 9 和 a(i, j) = k ,那a(i - 1, j - 1) = 0,a(i + 1, j + 1) = 0等是如何实现的呢?
还请教大家为小弟分析一下求解过程,谢谢!

回复

使用道具 举报

千问 | 2011-8-10 21:34:48 | 显示全部楼层
如果你直接定义变量数组的话,并且你没有赋予它值,每一个变量都等于0 如果你定义的是字符串变量的话,默认值是空;如果你定义的是长整形变量的话,默认值是0;如果你定义的是整形变量的话,默认值是0; 最楼上的回答:建议把Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Text1.Text = UCase(Text1.Text) Text1.改成:Private Sub Text1_Change()
'该事件将在文本框的文本发生改变是触发Text1.Text = UCase(Text1....
回复

使用道具 举报

千问 | 2011-8-10 21:34:48 | 显示全部楼层
k= 2 to 9前面有个FOR,是循环语句。a(i, j) = k ,a(i - 1, j - 1) = 0,a(i + 1, j + 1) = 0,是赋值语句。其中a(i, j),a(i - 1, j - 1),a(i + 1, j + 1)是数组a中的元素。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行