
vb实例 输入a,n,求a+aa+aaa+aaaa.......前n项的和
3个回答
展开全部
Private Sub Form_Load()
Dim a, n, x As Long
Dim i, j As Integer
Dim xx As String
a = Val(InputBox("a="))
n = Val(InputBox("n="))
If a > 9 Or n > 9 Or a < 0 Or n < 0 Then MsgBox "输入数字必须是0-9之间的正整数": End
For i = 1 To n
xx = xx & String(i, CStr(a)) & IIf(i = n, "", "+")
x = x + CLng(String(i, CStr(a)))
Next i
MsgBox xx & "=" & x
End Sub
Dim a, n, x As Long
Dim i, j As Integer
Dim xx As String
a = Val(InputBox("a="))
n = Val(InputBox("n="))
If a > 9 Or n > 9 Or a < 0 Or n < 0 Then MsgBox "输入数字必须是0-9之间的正整数": End
For i = 1 To n
xx = xx & String(i, CStr(a)) & IIf(i = n, "", "+")
x = x + CLng(String(i, CStr(a)))
Next i
MsgBox xx & "=" & x
End Sub
展开全部
Private Function FindSum(ByVal a As Integer, ByVal n As Integer) As Double
Dim i As Integer
For i = 1 To n
FindSum = FindSum + Data(a, i)
Next i
End Function
Private Function Data(ByVal aa As Integer, ByVal nn As Integer) As Double
Dim i As Integer
For i = 1 To nn
Data = Data + aa * 10 ^ (i - 1)
Next i
End Function
例如:
FindSum(6,5)=6+66+666+6666+66666
但是当n较大时,就有位数限制了,有可能溢出。
Dim i As Integer
For i = 1 To n
FindSum = FindSum + Data(a, i)
Next i
End Function
Private Function Data(ByVal aa As Integer, ByVal nn As Integer) As Double
Dim i As Integer
For i = 1 To nn
Data = Data + aa * 10 ^ (i - 1)
Next i
End Function
例如:
FindSum(6,5)=6+66+666+6666+66666
但是当n较大时,就有位数限制了,有可能溢出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这要看你n的大小有没有大致的范围,如果n没有限制这题就有些大了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询