求vb高手解决啊~!!!!!!!!!急!!!在线等!!!

2025-02-26 13:15:38
推荐回答(2个)
回答1:

If a < Val(Txt1(k).Text) Then '如果a的值小于txt(k)里的值,则:
a = Val(Txt1(k).Text) '把txt(k)里的值赋值给a,代替之前a的值。
End If
If b > Val(Txt1(k).Text) Then '如果b的值大于txt(k)里的值,则:
b = Val(Txt1(k).Text) '把txt(k)里的值赋值给b,代替之前b的值。
End If
这样的话,等把所有txt(k)全部循环后,a里边存放的就是最大的那个值,b里边存放的就是最小的那个值了。

回答2:

1、程序的“ s = s + Val(Txt(k).Text)”这句话好像有错误,应该是Txt1(k)吧?
2、看您程序的意思,是要从7个数中去掉最大数、去掉最小数,然后取平均。那么“s = (s - a - b) / 4”这句话应该是“/ 5”;如果不是7个而是6个数,那么“/ 4”是对的,但建议把txt1(0)隐藏起来,再把程序里Txt1(0)改为Txt1(1),并且For k = 1 To 6改为2 To 6。
3、逐句翻译你的问题:
If a < Val(Txt1(k).Text) Then '如果a小于txt1(k)的数值
a = Val(Txt1(k).Text) '那么a就被赋值成txt1(k)的值,否则不变。
'因此a始终保持最大的那个值
End If
If b > Val(Txt1(k).Text) Then '如果b大于txt1(k)的值
b = Val(Txt1(k).Text) '那么b就被赋值成txt1(k)的值,否则不变。
'因此b始终保持当前的最小的值
End If