VB 任意输入一个1到100以内的整数,并求出它的阶乘
PrivateSubCommand1_Click()DimiAsIntegerDimjAsIntegerDimsAsIntegers=1i=Val(InputBox("请...
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim s As Integer
s = 1
i = Val(InputBox("请您输入一个1到100以内的整数"))
For j = 1 To i
s = s * j
Next j
Print i & "的阶乘等于" & s
End Sub
为什么输入9之后会有溢出问题?怎么改 展开
Dim i As Integer
Dim j As Integer
Dim s As Integer
s = 1
i = Val(InputBox("请您输入一个1到100以内的整数"))
For j = 1 To i
s = s * j
Next j
Print i & "的阶乘等于" & s
End Sub
为什么输入9之后会有溢出问题?怎么改 展开
展开全部
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为
-32,768 到 32,767 之间,8的阶乘为40320,所以不到9就已经溢出了,
Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从
-2,147,483,648 到 2,147,483,647,也不适合,所以s可以设为变体类型
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim s‘ As Integer
s = 1
i = Val(InputBox("请您输入一个1到100以内的整数"))
For j = 1 To i
s = s * j
Next j
Print i & "的阶乘等于" & s
End Sub
展开全部
用自定义吧:
LONG也要出错!下面这个可以
Private Sub Command1_Click()
Dim i
Dim j
Dim s
s = 1
i = Val(InputBox("请您输入一个1到100以内的整数"))
For j = 1 To i
s = s * j
Next j
Print i & "的阶乘等于" & s
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似把s定义成double类型就行了,自定义的格式不是个好习惯
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询