为了账号安全,请及时绑定邮箱和手机立即绑定

都跟书上一样了 ,可是有时候还会出现溢出错误 e.g.m=280,n=100时之类 怎么改进??

都跟书上一样了 ,可是有时候还会出现溢出错误 e.g.m=280,n=100时之类 怎么改进??

C PHP
阿波罗的战车 2022-09-02 14:10:22
在命令按钮Command1的单击事件中计算m!/(n!*(m-n)!)的值,并在标签Label4中输出;当输入的m小于n时,直接在标签Label4中输出:"error" (不包括引号)其中m、n依次分别由文本框Text1和Text2输入。要求使用函数过程Factorial(n)实现计算n!。说明:1)不要更改函数名Factorial2)函数参数n为整型【我做的】Function factorial(n As Integer) As DoubleDim i As Integer, T As DoubleT = 1For i = 1 To nT = T * iNext ifactorial = TEnd FunctionPrivate Sub Command1_Click()Dim m As Integer, n As Integerm = Val(Text1.Text): n = Val(Text2.Text)If m < n ThenLabel4.Caption = "error"Exit SubEnd IfLabel4.Caption = factorial(m) / (factorial(n) * factorial(m - n))End Sub
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

Dim i As Integer, T As Double
这样 都溢出
VB不支持你那么大的数值
这不是你的错

查看完整回答
反对 回复 2022-09-06
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

就是你输入的数太大了
计算280的阶乘超过vb表示的范围,溢出了

查看完整回答
反对 回复 2022-09-06
  • 2 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信