网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月24日漏签0天
vb吧 关注:156,104贴子:1,166,215
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 15回复贴,共1页
<<返回vb吧
>0< 加载中...

同一组数据要在不同的按钮事件中进行不同的计算

  • 只看楼主
  • 收藏

  • 回复
  • RETRO_VB2
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • RETRO_VB2
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我自己写了第一个生成随机数列的


2025-07-24 02:13:25
广告
不感兴趣
开通SVIP免广告
  • RETRO_VB2
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
各路大神能写个均值的吗 我觉得我写的那个还有错漏。。因为生成数列后我点均值按钮出来正确答案,但是再点一次均值那个数值会变。这是什么原因呢 感觉正确的应该是不会变的


  • RETRO_VB2
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Dim a(1 To 25) As Integer, i%, aver!, min%, max%, imin%, imax%
Private Sub Command1_Click()
aver = 0
Randomize
For i = 1 To 25
a(i) = Int(Rnd * 151 + 50)
List1.AddItem a(i)
aver = aver + a(i)
Next i
aver = Format(aver / 25, "0.0")
End Sub
Private Sub Command2_Click()
Label1.Caption = "均值为:" & aver
End Sub


  • RETRO_VB2
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是不是把各个按钮要算的都在command1里完成比较好?


  • 菠萝蜜
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
'command1为控件数组0-4
Option Explicit
Dim arr()
Private Sub Command1_Click(Index As Integer)
  Dim n
  Select Case Index
  Case 0: setdata
  Case 1: Label1 = "均值:" & getaverage
  Case 2: Label1 = "最大值:" & getmax
  Case 3: Label1 = "最小值:" & getmin
  Case 4: init
  End Select
End Sub
Private Sub Form_Load()
  Dim temp, i
  temp = Split("生成随机数列,均值,最大值,最小值,清除", ",")
  For i = 0 To Command1.ubound
    Command1(i).Caption = temp(i)
  Next
  init
End Sub
Function setdata()
  Dim i
  List1.Clear
  For i = 1 To UBound(arr)
    Randomize: arr(i) = Int(Rnd * 151 + 50)
    List1.AddItem arr(i)
  Next
End Function
Function getaverage()
  Dim i
  For i = 1 To UBound(arr)
    getaverage = getaverage + arr(i)
  Next
  getaverage = getaverage / UBound(arr)
End Function
Function getmax()
  Dim i
  For i = 1 To UBound(arr)
    If i = 1 Then
      getmax = arr(i)
    Else
      If getmax < arr(i) Then getmax = arr(i)
    End If
  Next
End Function
Function getmin()
Dim i
  For i = 1 To UBound(arr)
    If i = 1 Then
      getmin = arr(i)
    Else
      If getmin > arr(i) Then getmin = arr(i)
    End If
  Next
End Function
Function init()
  ReDim arr(1 To 20)
  Label1.Caption = ""
  List1.Clear
End Function


  • oshi001
  • 钩子编程
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好奇怪,能搞一个随机数的函数,这样的问题还能搞不了嘛.


  • oshi001
  • 钩子编程
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
使用公共属性就可以了。


2025-07-24 02:07:25
广告
不感兴趣
开通SVIP免广告
  • RETRO_VB2
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好了 我自己写出来了 谢谢大家
Dim a(1 To 25) As Integer
Private Sub Command1_Click()
Dim i As Integer
Randomize
List1.Clear
For i = 1 To 25
a(i) = Int(Rnd * 151 + 50)
List1.AddItem a(i)
Next i
Label1.Caption = ""
End Sub
Private Sub Command2_Click()
Dim n%, Sum%, i%, Av!
n = 25
For i = 1 To n
Sum = Sum + a(i)
Next i
Av = Format(Sum / n, "0.0")
Label1.Caption = "均值为:" & Av
End Sub
Private Sub Command3_Click()
Dim n%, Max%, i%
n = 25
Max = a(1)
For i = 1 To n
If a(i) > Max Then Max = a(i)
Next i
Label1.Caption = "最大值为:" & Max
End Sub
Private Sub Command4_Click()
Dim n%, Min%, i%
n = 25
Min = a(1)
For i = 1 To n
If a(i) < Min Then Min = a(i)
Next i
Label1.Caption = "最小值为:" & Min
End Sub
Private Sub Command5_Click()
List1.Clear
Label1.Caption = ""
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 15回复贴,共1页
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示