作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 00:28:58
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.TextIf 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 & " "LoopEnd 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.TextIf 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 & " "LoopEnd Sub