VB 计算textboxk中数值的标准差

VB 计算textboxk中数值的标准差
在TEXT7中,己计算出如下内容:
1出现的次数为:6
2出现的次数为:11
3出现的次数为:6
4出现的次数为:8
5出现的次数为:4
6出现的次数为:5
7出现的次数为:2
8出现的次数为:0
9出现的次数为:5
10出现的次数为:0
11出现的次数为:2
12出现的次数为:0
13出现的次数为:0
14出现的次数为:9
现要显示出这些数字(1~14)的标准差,而且有些数字的出现次数为零啊,最好有代码.
现有代码如下:并且己计算出平均数.
Dim 元素数组
Dim 频次(14) As Integer
元素数组 = Split(Text7,",") '注意这里引号内的逗号要和你输入的逗号一致
For i = 0 To UBound(元素数组)
X = Val(元素数组(i))
Select Case X
Case 1 To 14
频次(X) = 频次(X) + 1
End Select
Next i
For i = 1 To 14
Text7 = Text7 & i & "出现的次数为:" & 频次(i) & vbCrLf
Next i
'计算平均数:
Dim s1 As Single,s2 As Single
For i = 1 To 14
s1 = s1 + 频次(i) * i
s2 = s2 + 频次(i)
Next
Text7 = Text7 & "出现数值平均数为:" & (s1 / s2) & vbCrLf
燕舞宁心 1年前 已收到1个回答 举报

sunuywang 幼苗

共回答了17个问题采纳率:88.2% 举报

Dim fs, f,s,a(1 to 14),j,i
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("c:TEXT7.txt", 1,0)
j=1
Do While a.AtEndOfLine True
s=f.readline
i=instr(s,":")
a(j)=val(mid(s,i+1))
j=j+1
Loop
f.Close
for i=1 to 14
print a(i)
next i

1年前 追问

7

燕舞宁心 举报

我没太看懂,而且不能运行,是不是什么地方有错误啊,运行中显示a为无效限定符

举报 sunuywang

Do While a.AtEndOfLine <> True 这一行我有一个写个错了,将 f 写成了a , 就当是 Do While f.AtEndOfLine <> True ******************** Dim fs, f, s, a(1 To 14), j, i '打开一个文本文件 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile("c:TEXT7.txt", 1, 0) j = 1 Do While f.AtEndOfLine <> True s = f.readline '读一行 i = InStr(s, ":") a(j) = Val(Mid(s, i + 1)) '取冒号后面的内容并转换为数字 j = j + 1 Loop f.Close For i = 1 To 14 Print a(i) '在窗体上输出 Next i

燕舞宁心 举报

谢谢,我自己己经解决了,不过我还是想请教你一下,我不在文本文件中读取,直接在TEXTBOX中读取这个应该怎么改啊?

举报 sunuywang

将s=f.readline 改为 a=textbox.text
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 2.479 s. - webmaster@yulucn.com