求Sn=a+aa+aaa+…+aaa…a(n个a)之值

kimifan 2006-03-31 03:47:16
求Sn=a+aa+aaa+…+aaa…a(n个a)之值,其中a是一个数字。例如:1+11+111+…+111111(此时n=6)。a和n在程序运行时由键盘输入
请看看这个哪里错了 或者有新的代码也行 谢谢谢谢帮忙

Private Sub Command1_Click()
Dim i As Integer,
Dim a As Double, b As Double, tn As Double, sn As Double
Picture1.Cls
i = 1: tn = 0: sn = 0
a = Val(Text1.Text)
b = a
If Val(Text1.Text) > 0 And Val(Text1.Text) < 10 And Val(Text2.Text) > 2 Then
Do While (i <= CInt(Text2.Text))
tn = tn + a
sn = sn + tn
a = a * 10
i = i + 1
Loop
Else
MsgBox "请输入10以内的自然数!", vbOKOnly + vbInformation, "数据错误"
End If
Picture1.Print b & "+" & b & b & "+..." & "+"; tn & " = "; sn
End Sub
...全文
1461 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lb107 2006-04-02
  • 打赏
  • 举报
回复
Picture1.Cls
有问题
northwolves 2006-03-31
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim s(), a As Integer, n As Integer, i As Integer, sn As Double
a = CInt(InputBox("please enter a :", "", 1))
n = CInt(InputBox("please enter n :", "", 6))
ReDim s(1 To n)
For i = 1 To n
s(i) = String(i, CStr(a))
sn = sn + s(i)
Next
MsgBox Join(s, "+") & "=" & sn
End Sub
caofusheng 2006-03-31
  • 打赏
  • 举报
回复
不知道版主的意思,程序没有错
faysky2 2006-03-31
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim i As Integer
Dim a As Double, sn As Double
Picture1.Cls

a = Val(Text1.Text)
sn = a
If Val(Text1.Text) > 0 And Val(Text1.Text) < 10 And Val(Text2.Text) > 2 Then
For i = 2 To Val(Text2.Text)
sn = sn + CDbl(String(i, CStr(a)))
Next
Else
MsgBox "请输入10以内的自然数!", vbOKOnly + vbInformation, "数据错误"
End If
Picture1.Print a & "+" & a & a & "+..." & "+"; String(i - 1, CStr(a)) & " = "; sn
End Sub
benyfeifei 2006-03-31
  • 打赏
  • 举报
回复
是啊,测试了没问题啊!
faysky2 2006-03-31
  • 打赏
  • 举报
回复
Dim a As Double, sn As Double
-------------------------------
Dim b As Double, sn As Double
faysky2 2006-03-31
  • 打赏
  • 举报
回复
新代码:
Private Sub Command1_Click()
Dim i As Integer
Dim a As Double, sn As Double
Picture1.Cls

b = Val(Text1.Text)
sn = b
If Val(Text1.Text) > 0 And Val(Text1.Text) < 10 And Val(Text2.Text) > 2 Then
For i = 2 To Val(Text2.Text)
sn = sn + CDbl(String(i, Trim(Text1.Text)))
Next
Else
MsgBox "请输入10以内的自然数!", vbOKOnly + vbInformation, "数据错误"
End If
Picture1.Print b & "+" & b & b & "+..." & "+"; tn & " = "; sn
End Sub
of123 2006-03-31
  • 打赏
  • 举报
回复
如果担心溢出,控制一下 Text2 的值。
of123 2006-03-31
  • 打赏
  • 举报
回复
你认为哪里错了?

测试过,没有问题。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧