1樓:網海1書生
這是因為你把select分支結構理解錯了,所以無法獲得預期結果。
改成這樣:
xcase=1
t=val(inputbox("input value of t:"))
select case t
case is>0
y=xcase+1
case 0
y=xcase+2
case else
y=xcase+3
end select
print xcase;y
或者:xcase=1
t=val(inputbox("input value of t:"))
if t>0 then
y=xcase+1
elseif t=0 then
y=xcase+2
else
y=xcase+3
end if
print xcase;y
推薦你用第二種,因為在此種場合用第二種才是最合理的。
vb題目~求講解~儘量詳細一點~謝謝了
2樓:岔路程式緣
第一行是:5 2 3
第二行是:13 6 7
第三行是:k= 13
求解vb這兩題的答案,並且求解釋 謝謝!!
3樓:
1.a a>b為假,b>0為真 假或真為真
2.b 控制元件的屬性值有些使用者可以改變
二級vb題 求詳細解釋,很詳細的,謝謝啊
4樓:
1. y = x$ + list1.text ,abc都不對
2. c是區域性變數,其它都不是
3. b
5樓:教師小站
1,選c。連線兩個字串要用&
2,選b。4個單詞分別表示:全域性,私有,靜態,公有
3,選b 。=4+0.73 mod 9 =4+(1 mod 9) =4+1=5
vb題,求高手解釋,謝謝
6樓:匿名使用者
dim a(5)
for i = 1 to 5
a(i) = i
next
'此時,a(1)=1,a(2)=2,a(3)=3,a(4)=4,a(5)=5
t = a(1)
'此時,t=1
for i = 2 to 5
a(i - 1) = i
next
'此時,a(1)=2,a(2)=3,a(3)=4,a(4)=5,a(5)未變化還是5
'此時i=6
a(i - 1) = t
'此時,a(i-1)=a(5)=t=1
for i = 1 to 5
print a(i)
next
vb題目求解釋
7樓:匿名使用者
function func(byval x as integer, y as integer) 中x是傳值的,y是傳地址的
傳值的變數不會在函式中被改變,傳地址的變數會是函式中改變的值。
求大神解答這道vb題目 謝謝!!
8樓:唐小貝戔
該問題可用遞迴法求解,但是書中的結果有問題
function calcsalary(byval startsalary as long, _
byval age as long, _
optional byval ageto as long = 65) as long
if age <= ageto then
calcsalary = calcsalary(startsalary * (1 + 0.05), age + 1, ageto)
else
calcsalary = startsalary
end if
end function
為什麼說書中的結果有問題,我們不妨來看一下,假設 helen 從 25 歲工作到 26 歲,這裡總共工作了兩年,而起始薪水為 20000,每年漲 5%,則第一年為 20000×(1+0.05) = 21000,第二年又是在第一年的基礎上繼續漲 5%,則第二年為 21000×(1+0.05) = 22050,如若不放心我們再來算個第三年為 22050×(1+0.
05) = 23152.5
以上是我們手動演算的結果,
下面來看看這個 calcsalary 的兩年和三年的執行結果是否和上面一樣:
debug.print "based on starting salary of 20000," & vbcrlf & "helen will earn about $" & cstr(calcsalary(20000, 25, 26)) & " from age of 25 to 26."
debug.print "--------------------------------------------"
debug.print "based on starting salary of 20000," & vbcrlf & "helen will earn about $" & cstr(calcsalary(20000, 25, 27)) & " from age of 25 to 27."
以上結果只是輸出到立即視窗,
具體應用時請根據題中要求賦值給文字框 textbox 控制元件即可。
回到題中,年齡要算到 65 歲,那麼還是一樣使用 calcsalary 中的第三個預設引數:
debug.print "based on starting salary of 20000," & vbcrlf & "helen will earn about $" & cstr(calcsalary(20000, 25)) & " from age of 25 to 65."
輸出結果應該是 helen 從 25 歲到 65 歲能賺到 147839.7
為了確保該結果萬無一失,下面再給出第二種實現**,該方法是最為普通的迴圈迭代法,優點是比第一種方法更容易理解,就是多使用了一個變數:
public function calcsalary2(byval startsalary as single, _
byval agefrom as integer, _
optional byval ageto as integer = 65) as single
dim i as integer
for i = agefrom to ageto
startsalary = startsalary * (1 + 0.05)
next
calcsalary2 = startsalary
end function
下面換個 msgbox 輸出:
msgbox "based on starting salary of 20000," & vbcrlf & "helen will earn about $" & cstr(calcsalary2(20000, 25)) & " from age of 25 to 65.", vbinformation, "total"
可見兩種方法的結果完全一致。
vb題,求高手指點,詳細點,謝謝咯。
9樓:平淡季節
private sub form_clickfor i =1 to 3
s=sum(i)
print s
next
end sub
function sum(n as integer )static j as integer
j=j+n+1
sum=j
end function
第一次迴圈i=1,j=0,sum(1) 0+1+1 =2第二次迴圈i=2,j=2,sum(2) 2+2+1 =5第三次迴圈i=3,j=5,sum(3) 5+3+1 =9static j as integer 表示j可以迴圈利用再次呼叫j不會被清0
vb程式設計題目,VB程式設計題目
private sub mand1 click if len text1 2 thentext1 left text1,2 end if end sub private sub mand2 click text1 end sub private sub form load label1.captio...
VB題目,請解釋一下,謝謝
選c.像函式一樣,f x,y x 2 y x 10,若要呼叫此函式,則給x,y賦予一個值,如 f 2,1 結果是16.d正確proc1的三個形參a,b是不可少的,x使用optional關鍵字,表示呼叫時可省略 選d.首先,子過程的呼叫的格式應該是 call proc1 a b x 或者proc1a ...
VB求解,題目如下,求解幾何題。題目如下。
在form click中定義了區域性變數a 在這個區域性中沒有對a進行賦值,那麼a在該過程中一直就是0 這種問題可以試一下按f8 執行一下看一下 幾個變數的值 private a b c private sub form click dim a as integer 此處的變數a遮蔽了開始定義的全域...