VB计算问题:一个三位数依次加上123 456......求算法

三个文本框 一个命令按钮
第一个文本(可以任意输入3位数如496)
第二个文本(可以输入多组3位数如157 746 327.。。。。中间都用空格隔开)
提交按钮;用第一个文本里的3位数分别加上文本二中的3位数。相加不进位,只要尾数组成新的三位数。如496+746=132
新的结果都显示在文本三中,所有三位数中间都要有空格分开。如123 456 567.。。。这样的格式。
这样的算法用VB这么写 Command1的命令代码?

Private Sub Command1_Click()

s = Text1.Text

If Mid(s, Len(s), 1) <> " " Then s = s + " "

Text2.Text = ""

Do While InStr(1, s, " ") > 0

  k = k + 1

  s1 = Mid(s, 1, InStr(1, s, " ") - 1)

  s = Mid(s, InStr(1, s, " ") + 1)

  a1 = CInt(Mid(s1, 1, 1))

  b1 = CInt(Mid(s1, 2, 1))

  c1 = CInt(Mid(s1, 3, 1))

  a = (a + a1) Mod 10

  b = (b + b1) Mod 10

  c = (c + c1) Mod 10

  If k > 1 Then Text2.Text = Text2.Text & a & b & c & " "

Loop

End Sub

追问

首先我要谢谢你为我写代码,然后也许是我说的不清楚,你写的代码,跟我要的结果不一致。
我的意思是三个文本
比如文本一输入123
文本二输入123 234 345 456
文本三得到的是;123+123 123+234 123+345 123+456 相加不进位,只要尾数 。以这个例子结果应该是246 357 468 579
是分别相加,不是结果相加。
请问这样的代码怎么写?

追答

下回拜托你把问题说清楚了再发。我要为你重写一遍程序……。55555……

Private Sub Command1_Click()

s = Text1.Text

If Mid(s, Len(s), 1) <> " " Then s = s + " "

a = Mid(s, 1, 1)

b = Mid(s, 2, 1)

c = Mid(s, 3, 1)

Text2.Text = ""

Do While InStr(1, s, " ") > 0

  a1 = CInt(Mid(s, 1, 1))

  b1 = CInt(Mid(s, 2, 1))

  c1 = CInt(Mid(s, 3, 1))

  a2 = (a + a1) Mod 10

  b2 = (b + b1) Mod 10

  c2 = (c + c1) Mod 10

  s = Mid(s, InStr(1, s, " ") + 1)

  Text2.Text = Text2.Text & a2 & b2 & c2 & " "

Loop

End Sub

追问

朋友。,其实是你没看清题目好吗?谦虚点说是我的口误。实际是你没看清题目。

要三个文本,text1  text2 和text3加一个按钮


用text1里的三位数去分别加text2中的三位数,是分别加。


你第二次写的还是不对。我要的是这样的形式。


追答

Private Sub Command1_Click()

a = Mid(Text1.Text, 1, 1)

b = Mid(Text1.Text, 2, 1)

c = Mid(Text1.Text, 3, 1)

s = Text2.Text

If Mid(s, Len(s), 1) <> " " Then s = s + " "

Text3.Text = ""

Do While InStr(1, s, " ") > 0

  a1 = CInt(Mid(s, 1, 1))

  b1 = CInt(Mid(s, 2, 1))

  c1 = CInt(Mid(s, 3, 1))

  a2 = (a + a1) Mod 10

  b2 = (b + b1) Mod 10

  c2 = (c + c1) Mod 10

  s = Mid(s, InStr(1, s, " ") + 1)

  Text3.Text = Text3.Text & a2 & b2 & c2 & " "

Loop

End Sub

温馨提示:答案为网友推荐,仅供参考
相似回答