哥哥姐姐们看看我编的的这段小程序有毛病吗?

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:51:24
Private Sub Form_Load()
Dim a As Long
Dim b As Long
Dim c As Long
Dim i As Long
a = 1
b = 2
c = 3

S1 = 1
S2 = 1
S3 = 1
For i = 1 To a
S1 = S1 * i
Next i
Print "S1"; S1
For i = 1 To b
S2 = S2 * i
Next i
Print "S2"; S2
For i = 1 To c
S3 = S3 * i
Next i
Print "S3"; S3
S = S1 + S2 + S3
Print "S="; S
End Sub
(可以简化吗?我是菜鸟中的菜鸟。学不到1星期那,给小弟提电意见和建议,不胜感激!)

你的程序好像是求1!+2!+3!
用函数就会简单多了。
Private Sub Form_Load()
Me.AutoRedraw = True
Print "S="; F(1) + F(2) + F(3)
End Sub
Private Function F(a&) As Long
Dim i&
F = 1
For i = 2 To a
F = F * i
Next
End Function
既然a,b,c的运算过程都是一样的,就没必要写三遍。

你的数都很小,不要定义long,用integer就好,别浪费.
付值语句写在一行就好了,eg:(s1=1:s2=2:s3=3),太长了看不清
初学养成好习惯,每个变量都定义下Option Explicit(Tools-->options-->Editor-->Require variable Declaration)