大一vb编程数组类基本问题。。。求大神。
题目是这样的:设计一个窗体,在窗体的单击事件中编程实现:输出5行5列方阵,使对角线上元素为1,其他元素为0。写的代码是这样的PrivateSubForm_Click()D...
题目是这样的:
设计一个窗体,在窗体的单击事件中编程实现:
输出5行5列方阵,使对角线上元素为1,其他元素为0。
写的代码是这样的
Private Sub Form_Click()
Dim a(1 To 5, 1 To 5) as integer,i as integer,j as integer
For i = 1 To 5
For j = 1 To 5
a(i, j) = 0
If i = j Then
a(i, j) = 1
End If
If i + j = 1 + 5 Then
a(i, j) = 1
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 5
Print a(i, j);
Next j
Print
Next i
End Sub
我的疑问:为什么 For i = 1 To 5。 For j = 1 To 5 要重复两遍?endif 完后再next 循环后直接print 不可以吗?? 展开
设计一个窗体,在窗体的单击事件中编程实现:
输出5行5列方阵,使对角线上元素为1,其他元素为0。
写的代码是这样的
Private Sub Form_Click()
Dim a(1 To 5, 1 To 5) as integer,i as integer,j as integer
For i = 1 To 5
For j = 1 To 5
a(i, j) = 0
If i = j Then
a(i, j) = 1
End If
If i + j = 1 + 5 Then
a(i, j) = 1
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 5
Print a(i, j);
Next j
Next i
End Sub
我的疑问:为什么 For i = 1 To 5。 For j = 1 To 5 要重复两遍?endif 完后再next 循环后直接print 不可以吗?? 展开
展开全部
直接循环一遍也可以,只是各人的思路不一样,出题人估计是怕在一遍循环中又是赋值,又是输出不好理解,如果你可以理解,当然可以只循环一遍,这样效率更高啊。
再有,一般外层循环控制行数,内层循环控制列数,判断控制应该赋值或输出的内容。
例如:
Private Sub Form_Click()
Dim a(1 To 5, 1 To 5) As Integer, i As Integer, j As Integer
For i = 1 To 5
For j = 1 To 5
If i = j Or i + j = 1 + 5 Then
a(i, j) = 1
Else
a(i, j) = 0
End If
Print a(i, j);
Next j
Next i
End Sub
展开全部
可以将 Pinnt a(i,j) 放在第一个循环Endif之后,Next j 之前,省略第二组循环。估计这样做是为了增加程序可读性吧。
追问
哦,对这样做确实可以的!难道真的是闲的蛋疼才输两遍? 什么增强可读性不懂啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一遍循环是形成数据,第二遍循环是打印结果,这是两个过程,也就是计算和显示分开。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是vb??好像问下你是哪个大学的,现在还有交vb的?晕,这个似乎过时了吧亲
追问
绝对要学万恶的vb啊 我也不知道我个学财务的学这个有什么用
追答
您要真心是学财务的,那么您还真得下点功夫学学vb哦亲,不是说vb不行了,关键是以后你们财务做帐用到那个什么excel可是微软的哦亲 ,里面有个什么vba尼玛整个就是vb的特殊版本,所以您必须得下点功夫了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,从程序的执行速度上考虑本来就不应该后面专门再用For循环输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询