a(j)=min和a(j) = a(imin)是等价的,因为事实上min和a(imin)的值在那一个时刻是一样的。
但是min=t和a(imin) = t是不等价的,因为前一个改变的是min的值,后一个改变的是a(imin)的值。
这就好像小明和小强以前身高都是160cm,那么表示162cm的时候可以说:小明的身高+2cm,也可以说小强的身高+2cm。
但是小明和小强仍然是两个人,当小明又长高1cm的时候,你不能说成小强长高1cm。
在这里=号的功能不是表示等号两边的东西相等,而是表示将后面的值存到等号前面的变量里面,这叫做赋值。被赋值之后的变量丢失了以前的内容。
Private Sub Command1_Click()
m = Array(2, 7, 9, -12, 5, 3)
u = UBound(m)
Print "数组初始值:";
For i = 0 To u
Print m(i);
Next
maxpos = 0
minpos = 0
Max = m(0)
Min = m(0)
For i = 0 To u
If Abs(m(i)) < Min Then
Min = Abs(m(i))
minpos = i
End If
If Abs(m(i)) > Max Then
Max = Abs(m(i))
maxpos = i
End If
Next
tmp = m(maxpos)
m(maxpos) = m(minpos)
m(minpos) = tmp
Print "交换后数组的值:";
For i = 0 To u
Print m(i);
Next
End Sub
dim i as integer
for i=0 to 3
print a(i)
next
很简单的,能看明白吧就是用循环实现将每个数组元素列印出来。
程序中很多诸如此类的应用都是利用循环,完成人力需要重复反复进行的工作,所以可以提高工作效率,这也正是计算机的魅力所在。
由于数组下标默认是0开始的。n个数组的下标是从0到n-1
if n mod=0 then '即数组个数为偶数个
for i=0 to n/2-1
temp=a(i)
a(i)=a(n-i-1)
a(n-i-1)=temp
next i
else '数组为奇数个,那么中间一个,不需要交换
for i=0 to (n-1)/2-1
temp=a(i)
a(i)=a(n-i-1)
a(n-i-1)=temp
next i
end if
如果下标从1开始,那么交换的就是a(i)与a(n+1-i),代码变成:
if n mod=0 then '即数组个数为偶数个
for i=1 to n/2
temp=a(i)
a(i)=a(n+1-i)
a(n+1-i)=temp
next i
else '数组为奇数个,那么中间一个,不需要交换
for i=1 to (n-1)/2
temp=a(i)
a(i)=a(n+1-i)
a(n+1-i)=temp
next i
end if
以上就是关于VB里面交换数组中元素的位置,怎样才能既交换了数据,又不交换下标本人是VB新手,还请各位大神指教。全部的内容,包括:VB里面交换数组中元素的位置,怎样才能既交换了数据,又不交换下标本人是VB新手,还请各位大神指教。、VB中如何对数组求最大值与最小值并交换两者的次序、vb 对数组进行调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)