1樓:鬆鬆一號
程式呢,請補充一下吧
option explicit
private sub command1_click()dim a as integer
a = int(val(text1.text))text2.text = jiec(a)
end sub
private function jiec(n as integer) as long
if n = 0 then
jiec = 1
else
jiec = n * jiec(n - 1)end if
end function
這樣就可以了!
2樓:匿名使用者
鬆鬆一號 的方法很好了。
不過,既然jiec() as long 定義為long型別,最好限制一下n值的大小,否則造成資料超限的不必要麻煩。
3樓:
你的計算公式寫錯了,應該為
for i = 1 to n
jiec = jiec * i
next i
你原來的方法算出來應該是n的n次方
而不是n的階乘
另外n=0,1的時候你要給出他們的階乘。要不返回的都是0
vb中求1到n階乘的和
4樓:
private sub command1_click()n = inputbox("輸出最大階乘數的值")j = 1
for i = 1 to n
j = j * i '每個數的階乘值
s = s + j '合
next i
print s
end sub
5樓:捌零老陳
sum = 0
temp = 1
for i = 1 to n
sum = sum + temp * i
temp = temp * i
next
vb中程式設計序求s
最標準,復簡單 dima asinteger,bas long,s asdoubleb 0a 1 s 0fora 1to100b b as s 1 ba a 1next aprint s 制 說明下把 先定義a 是整型,再定義一個b 是長整型,讓s 是雙精度型別,因為1 長整數 得到的必定超過了單精...
VB程式中的問題,VB程式中的一個問題
1 我建議你好好看看書,這是很基礎的 2 a 定義的是一個陣列 3 0 代表的是a 陣列中的第一元素,也可以說是陣列中第一個變數 這樣說不太準確,可以這麼理解吧 4 每一個陣列a x 後面只要是寫等號,就是給這個陣列進行賦值的 例如你提問的 a 0 1 意思就是把1這個數賦值給a 0 因為你前面已經...
vb中程式設計序求 s 1 1 2 1 1 2 31 1
最標準,抄簡單 襲 dim a as integer,b as long,s as double b 0 a 1 s 0 for a 1 to 100 b b a s s 1 b a a 1 next a print s 說明下把bai 先定義 a 是整型 du,再定義一個zhib 是長整型,讓 d...