VB比较TEXT数值

VB中,有text1到text11十一个TEXT窗口(内容为1-3位数字),我想把TEXT窗口中最小值、次小值和最大值、次大值找出来,赋予a,b,c,d请提供代码,谢谢... VB中,有text1到text11十一个TEXT窗口(内容为1-3位数字),我想把TEXT窗口中最小值、次小值和最大值、次大值找出来,赋予a,b,c,d请提供代码,谢谢 展开
 我来答
网海1书生
科技发烧友

2014-01-04 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
Dim a As Integer, b As Integer, c As Integer, d As Integer
Dim i As Integer, k As Integer
For i = 1 To 11
   k = Val(Controls("Text" & i).Text)
   If i = 1 Then
      a = k : b = k : c = k : d = k
   ElseIf a > k Then
      b = a : a = k
   ElseIf c < k Then
      d = c : c = k
   End If
Next
Print "最小值是:"; a
Print "次小值是:"; b
Print "最大值是:"; c
Print "次大值是:"; d

 建议你把那11个文本框做成控件数组(比如Text1(0)、Text1(1)……Text1(10)),这样才符合标准,而且可以提高运行效率。如果是控件数组,那么上述代码的3、4、5行修改为:

For i = 0 To 10
   k = Val(Text1(i).Text)
   If i = 0 Then
149005501
2014-01-04 · TA获得超过8.6万个赞
知道顶级答主
回答量:7.9万
采纳率:90%
帮助的人:1.3亿
展开全部
先设最大值a,次大值b,最小值c,次小值b
从text1起,先赋予a,b,c,d
a=text1
b=text1
...
再比较text2,如果比a大,则:
if text2>a then 'a等于text2,否则b=text2
a=text2
c=text1
else
b=text2
d=text1
end if
再比较text3:
'比最大
if a>text3 then
if b<text3 then b=text3
else
b=a
a=text3
end if
'比较最小
if c>text3 then
d=c
c=text3
else
if d>text3 then d=text3
end if
接着同上比较text4...一直下去就OK了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slfyws
2014-01-03 · TA获得超过176个赞
知道答主
回答量:170
采纳率:0%
帮助的人:62.6万
展开全部
挨个比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式