求1!+2!+3!+4!……+100!,程序如下Private Sub Form_Load()
Dim i, sum, temp As Integer
sum = 0
temp = 1
For i = 1 To 100
temp = temp * i '说这行有溢出错误
sum = sum + temp
Next i
Print sum
Text1.Text = sum
End Sub这段程序有错误,十分不解,请教各位高手错误的原因,与修改方法,十分感谢。
Dim i, sum, temp As Integer
sum = 0
temp = 1
For i = 1 To 100
temp = temp * i '说这行有溢出错误
sum = sum + temp
Next i
Print sum
Text1.Text = sum
End Sub这段程序有错误,十分不解,请教各位高手错误的原因,与修改方法,十分感谢。
解决方案 »
- VB MSchart Datagrid 控件
- 我通过inet 控件成功登陆了网站,请问如何继续进行表单的提交?
- 服务器更新软件之后,如何使客户端不用更新?
- 如何在当前目录下建立文件?
- 一个关于SQL与其它数据库导出和导入的问题(select * into [FoxPro 2.5;database=同上].导出表名 from 表),请大家关注。
- 想求几个数相加.....帮帮忙
- 如何用copyfile命令复制局域网内某一机器的某一目录内的一个或多个文件
- 程序中如何在用ACTVEREPORT的直接打印时不用显示打印对话框?
- 怎么找到在最前面的窗口的句柄?
- 如何让WebBrowser控件的右键菜单不弹出(麻烦各位大哥大姐)
- 询问:这里有朋友有没有对NetMeeting开放有经验啊!
- 高分求救,用VB如何查找某类文件或某个文件以及对文件后缀读取和添加
dim sum as long
dim temp as long
Private Sub Command1_Click()
Dim i As Integer
Dim sum As Double
Dim temp As Double
sum = 0
temp = 1
For i = 1 To 100
temp = (temp) * CDbl(i)
sum = sum + temp
Next i
Print sum
Text1.Text = sumEnd Sub
Dim i As Double
Dim sum As Double
Dim temp As Double
sum = 0
temp = 1
For i = 1 To 100
temp = (temp) * i
sum = sum + temp
Next i
Print sum
End Sub
这样的大数运算最好用字串完成,因为到一定程度double也会溢出
Private Sub Form_Load()
Dim i, sum, temp As Integer
sum = 0
temp = 1
For i = 1 To 100
temp = temp * i '说这行有溢出错误
sum = sum + temp
Next i
Print sum
Text1.Text = sum
End Sub'----------------------------------------
1.算法是错误的.
DIM T AS LONG
For i = 1 To 100
TEMP=1
FOR T=1 TO I
TEMP=TEMP*T
NEXT
sum = sum + temp
Next i2.
Dim i, sum, temp As Integer
这些数被定义为INTEGER. 肯定不行,因为INTEGER最大只能是 32767
所以,应该将其定义为DOUBLE.