早教吧作业答案频道 -->其他-->
vb:编制通用sub过程f3,将single类型一维数组反序排列(如实参数组元素依次为1,5,7,调用后为7,5,1PrivateSubf3(a()AsSingle,iAsByte)DimnAsByte,kAsByte,tempAsSingleFori=1Toktemp=a(i)a(i)=a(k+1-i)a(k+
题目详情
vb:编制通用sub过程f3,将single类型一维数组反序排列(如实参数组元素依次为1,5,7,调用后为7,5,1
Private Sub f3(a() As Single,i As Byte)
Dim n As Byte,k As Byte,temp As Single
For i = 1 To k
temp = a(i)
a(i) = a(k + 1 - i)
a(k + 1 - i) = temp
Next i
End Sub
Private Sub Form_Click()
Dim n As Byte,a() As Single,i As Byte
n = InputBox("请输入元素个数")
ReDim a(1 To n)
For i = 1 To n
a(i) = Val(InputBox("a(" & i & ")="))
Next i
Call f3(a,i)
For i = 1 To n
Print a(i);
Next i
End Sub
我写的不对,哪个地方错了啊?
Private Sub f3(a() As Single,i As Byte)
Dim n As Byte,k As Byte,temp As Single
For i = 1 To k
temp = a(i)
a(i) = a(k + 1 - i)
a(k + 1 - i) = temp
Next i
End Sub
Private Sub Form_Click()
Dim n As Byte,a() As Single,i As Byte
n = InputBox("请输入元素个数")
ReDim a(1 To n)
For i = 1 To n
a(i) = Val(InputBox("a(" & i & ")="))
Next i
Call f3(a,i)
For i = 1 To n
Print a(i);
Next i
End Sub
我写的不对,哪个地方错了啊?
▼优质解答
答案和解析
Private Sub f3(a() As Single, k As Byte) ‘原来定义的i在循环体内做循环变量用了
Dim n As Byte, i As Byte, temp As Single ’原来定义的k没有赋值
For i = 1 To k/2 '只要交换一半,全交换的话,又交换回来了.
temp = a(i)
a(i) = a(k + 1 - i)
a(k + 1 - i) = temp
Next i
End Sub
还有Call f3(a, i)
应改为Call f3(a, n),此时i已经为n+1了.
Dim n As Byte, i As Byte, temp As Single ’原来定义的k没有赋值
For i = 1 To k/2 '只要交换一半,全交换的话,又交换回来了.
temp = a(i)
a(i) = a(k + 1 - i)
a(k + 1 - i) = temp
Next i
End Sub
还有Call f3(a, i)
应改为Call f3(a, n),此时i已经为n+1了.
看了 vb:编制通用sub过程f3...的网友还看了以下:
关于C语言For语句下列程序执行的结果是a=1b=2;c=3;while(b<a<c){t=a;a 2020-05-17 …
复数计算:(1)i+i^2+i^3+.+i^100(2)i^10+i^20+i^30+.+i^80 2020-05-21 …
i^2=-1-(i^2)=1-5(i^2)=5同时开根号(√-5)i=√5左边=(√-5)i=(√ 2020-05-24 …
()米增加五分之一后是5米 2020-06-11 …
关于i++++i的问题inti=5,j=5,p,q;p=(i++)+(i++)+(i++);q=( 2020-07-25 …
在VC中,为什么i=3输出y=++i值为4;而i=3,y=(++i)+(++i)值为10?在y=( 2020-07-26 …
圆角矩形如何同比缩小?如题,为什么克隆一个圆角矩形后数值变形,上下和左右缩小不一样?[[i]本帖最 2020-07-30 …
执行下面的程序段后,X的值为多少?X=5ForI=1to20Stop2X=X+INextI循环第1次 2020-10-30 …
c自加自减问题我晕了#includemain(){inti,x,y;i=2;x=(++i)+(i++ 2020-11-01 …
i为int型变量,且初值是3,有表达式i=(a=5,b=10)+(i+=b,b+=a),表达式的值是 2020-11-01 …