为什么不行呀 vbs 高手来

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:34:35
dim a,b,c,d,e,g,msg
a=inputbox(a)
b=inputbox(b)
c=inputbox(c)
d=inputbox(d)
e=inputbox(e)
g=(a+b+c+d+e)/5
msg=[(a-g)^2+(b-g)^2+(c-g)^2+(d-g)^2+(e-g)^2]/5
msgbox(msg)

输小数说错 输整数返回值为0 总不能求方差
求解 能编写一个新的最好
输小数 800A000d
二楼三楼也不行 800a0401

四楼可以

我的
dim a,b,c,d,e,g,msg
a=inputbox("","请输入数字")
b=inputbox("","请输入数字")
c=inputbox("","请输入数字")
d=inputbox("","请输入数字")
e=inputbox("","请输入数字")
g=(a+b+c+d+e)
msg=[(a-g)^2+(b-g)^2+(c-g)^2+(d-g)^2+(e-g)^2]
msgbox(g)
msgbox(msg)
如果输入10,10,10,15,5
返回值g 为什么会变成101010155?
msg为0
四楼讲讲加20分
赐教

(*^__^*) 嘻嘻……试试我的吧~

a=int(inputbox("","请输入数字") )
b=int(inputbox("","请输入数字") )
c=int(inputbox("","请输入数字") )
d=int(inputbox("","请输入数字") )
e=int(inputbox("","请输入数字") )
g=(a+b+c+d+e)/5
msg=((a-g)^2+(b-g)^2+(c-g)^2+(d-g)^2+(e-g)^2)/5
msgbox(msg)

你的这个:
a=inputbox("","请输入数字")
得到的a是字符串 输入10 输出结果是"10"而不是10 "10"不等于10 int()可以将"10"转换10

g=(a+b+c+d+e)

你得到的g是一个字符串
这中间的+号起到的作用是连接字符串"10"+"15"="1015" (比如说"你"+"好"="你好") 而数值10+15=25

所以,后面的字符串加减啊,平方都毫无意义,肯定会返回0

给你写个更方便的(可以输入任意个数据):
'先建一个文本框,两个按钮,command1(数据输入),command2(计算结果)
Dim a() As Single
Dim n As Integer
Dim s As Single

Private Sub Command1_Click()
n = n + 1
ReDim Preserve a(1 To n)