用VB该如何编写A,B 两个10位的数字,求AB的平均值C,还有和值D.再求C的每位相加的总和,D的每位相加总和.(小数
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 08:09:18
用VB该如何编写
A,B 两个10位的数字,求AB的平均值C,还有和值D.再求C的每位相加的总和,D的每位相加总和.(小数点后的不做计算).求用VB应该如何写.
A,B 两个10位的数字,求AB的平均值C,还有和值D.再求C的每位相加的总和,D的每位相加总和.(小数点后的不做计算).求用VB应该如何写.
楼主参考一下:Option Explicit
Private Function AddNum(ByVal N As Double) As Long
Dim sNum As String
Dim S As Long, i As Long
S = 0: sNum = Fix(N)
For i = 1 To Len(sNum)
S = S + Mid$(sNum, i, 1)
Next
AddNum = S
End Function
Private Sub Command1_Click()
Dim A#, B#, C#, D#
Me.Cls
Randomize
A = Fix(1000000000# + 8999999999# * Rnd())
B = Fix(1000000000# + 8999999999# * Rnd())
D = A + B
C = D / 2
Print "原始值 A = " & A
Print "原始值 B = " & B
Print "平均值 C = " & C
Print " 和值 D = " & D
Print "C 的整部分之和为:" & AddNum(C)
Print "D 的整部分之和为:" & AddNum(D)
End Sub
再问: 非常感谢,刚才忘了个步骤,A和B要分别乘以E后,再计算,我加上后,就出现了1.23445E+16,这个怎么解决呢
再答: 计算机中浮点数的“精度”是有限的,当位数过多时,它的“显示结果”一般都用科学计数法表示。 你在提问时,没说什么“E”的问题呀!E是什么样的数? 还有你说的A和B是10位数字,它是连同小数部分一起,共10位吗? 还是象我的回复中那样,就是10位的整数? 象你说的1.23445E+16这样的数,是要把所有整数部分都加起来吗? 要都加起来,应该还是可以解决的。我试下再说。
再问: 再次感谢!问题刚才没有说明白,我在重新下叙述一下。 要输入的A和B,都是9到10位的数字。要输入的E是7到8位。都是整数。 A*E=C ,B*E=D 求CD平均值F ,和值 G 再分别求F和G整数位 相加的和值。 现在出现了C和D的数值都是例如1.23456789E+16 这种数值。导致F和G结果错误。
再答: 对于很大的数,它的有效数字只有15(或16位),
在科学计数法中,有效数字全部显示出来的了, 如果+后面的数字比前面的数字多(E+xx,就表示共有xx+1位整数),前面的数 字全是整数部分的,后面再用0补齐总位数。用这段代码吧,我刚才已经测试过好多次的了。无论参数大还是小,都能正确计算出它的整数部分之和。Private Function AddNum(ByVal N As Double) As Long
Dim sNum As String
Dim S As Long, i As Long
S = 0: sNum = Format$(Fix(N), 0)
For i = 1 To Len(sNum)
S = S + Mid$(sNum, i, 1)
Next
AddNum = S
End Function
Private Sub Command1_Click()
Dim A#, B#, C#, D#, E#
Dim i&, sf$
Me.Cls
Randomize
A = Fix(1000000000# + 8999999999# * Rnd())
B = Fix(1000000000# + 8999999999# * Rnd())
'E = 1234567
E = Fix(1000000000# + 8999999999# * Rnd())
D = (A + B) * E
C = D / 2
Print "原始值 A = " & A
Print "原始值 B = " & B
Print "系数值 E = " & E & vbLf
Print "平均值 C = " & C
Print " 和值 D = " & D
Print "C 的整部分之和为:" & AddNum(C)
Print "D 的整部分之和为:" & AddNum(D)
End Sub万一你发现有什么算错的时候,把具体数值记录一下,我跟踪测试,看原因在哪。
(但我想应该不会有问题了)
再问: 感激不尽,完全没有问题,谢谢!
再答: 嘿嘿
Private Function AddNum(ByVal N As Double) As Long
Dim sNum As String
Dim S As Long, i As Long
S = 0: sNum = Fix(N)
For i = 1 To Len(sNum)
S = S + Mid$(sNum, i, 1)
Next
AddNum = S
End Function
Private Sub Command1_Click()
Dim A#, B#, C#, D#
Me.Cls
Randomize
A = Fix(1000000000# + 8999999999# * Rnd())
B = Fix(1000000000# + 8999999999# * Rnd())
D = A + B
C = D / 2
Print "原始值 A = " & A
Print "原始值 B = " & B
Print "平均值 C = " & C
Print " 和值 D = " & D
Print "C 的整部分之和为:" & AddNum(C)
Print "D 的整部分之和为:" & AddNum(D)
End Sub
再问: 非常感谢,刚才忘了个步骤,A和B要分别乘以E后,再计算,我加上后,就出现了1.23445E+16,这个怎么解决呢
再答: 计算机中浮点数的“精度”是有限的,当位数过多时,它的“显示结果”一般都用科学计数法表示。 你在提问时,没说什么“E”的问题呀!E是什么样的数? 还有你说的A和B是10位数字,它是连同小数部分一起,共10位吗? 还是象我的回复中那样,就是10位的整数? 象你说的1.23445E+16这样的数,是要把所有整数部分都加起来吗? 要都加起来,应该还是可以解决的。我试下再说。
再问: 再次感谢!问题刚才没有说明白,我在重新下叙述一下。 要输入的A和B,都是9到10位的数字。要输入的E是7到8位。都是整数。 A*E=C ,B*E=D 求CD平均值F ,和值 G 再分别求F和G整数位 相加的和值。 现在出现了C和D的数值都是例如1.23456789E+16 这种数值。导致F和G结果错误。
再答: 对于很大的数,它的有效数字只有15(或16位),
在科学计数法中,有效数字全部显示出来的了, 如果+后面的数字比前面的数字多(E+xx,就表示共有xx+1位整数),前面的数 字全是整数部分的,后面再用0补齐总位数。用这段代码吧,我刚才已经测试过好多次的了。无论参数大还是小,都能正确计算出它的整数部分之和。Private Function AddNum(ByVal N As Double) As Long
Dim sNum As String
Dim S As Long, i As Long
S = 0: sNum = Format$(Fix(N), 0)
For i = 1 To Len(sNum)
S = S + Mid$(sNum, i, 1)
Next
AddNum = S
End Function
Private Sub Command1_Click()
Dim A#, B#, C#, D#, E#
Dim i&, sf$
Me.Cls
Randomize
A = Fix(1000000000# + 8999999999# * Rnd())
B = Fix(1000000000# + 8999999999# * Rnd())
'E = 1234567
E = Fix(1000000000# + 8999999999# * Rnd())
D = (A + B) * E
C = D / 2
Print "原始值 A = " & A
Print "原始值 B = " & B
Print "系数值 E = " & E & vbLf
Print "平均值 C = " & C
Print " 和值 D = " & D
Print "C 的整部分之和为:" & AddNum(C)
Print "D 的整部分之和为:" & AddNum(D)
End Sub万一你发现有什么算错的时候,把具体数值记录一下,我跟踪测试,看原因在哪。
(但我想应该不会有问题了)
再问: 感激不尽,完全没有问题,谢谢!
再答: 嘿嘿
用VB该如何编写A,B 两个10位的数字,求AB的平均值C,还有和值D.再求C的每位相加的总和,D的每位相加总和.(小数
1、求这样的三位数,该三位数等于其每位数字的阶乘之和.即abc=a!+b!+c!
用C语言编写:两个整数相加和两个小数相加后相乘,并显示两数相乘的结果
设有A B C三个数,其中A和B相加200,A和C相加是150,B和C相加是160,求A,B,C三个数的平均值是多少?
用C++编写:求这样一个三位数,该三位数等于其每位数字的阶乘之和
a.b.c.d四位科学家他们俩俩年龄和结果为99 .113 .125 .130 .144岁,其中有两人的年龄没有相加求年
编写c++程序:求这样一个三位数,该三位数等于其每位数字的阶乘之和.(注:是c++,不是c!)
c语言,求这样一个三位数,该三位数等于其每位数字的阶乘之和.
C语言"求大于20个数中的平均值中,大于平均值的数的总和"
A B C D - C D C _____________ A B C 求A、B、C、D的值.用VB编程完成
有3个数字相加,用每一个数字去除3个数字相加之和,得出每一个数字占总和的百分比,百分比通过四舍五入保留任意位小数,是不是
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,用c语言程序来完成.