Private Sub Form_Click() Dim a(1 To 30) As Integer Dim b As Integer, c As Integer b = 0 c = 0
For i = 1 To 30
a(i) = 100 * Rnd Print a(i) & \" \";
If a(i) Mod 2 = 0 Then b = b + 1 Else
c = c + 1 End If Next i
Print b Print c End Sub
二、输入整数N,产生一个N个[0,50]之间的随机数存入数组X中,单击“求和”按
钮,分别求数组X中奇数和偶数之
悬赏分:5 | 解决时间:2008-12-15 21:13 | 提问者:lily880719
在考生文件夹下有一个工程文件Prog1.vbp,相应的窗体文件为Prog1.frm, 窗体上有二个命令按钮。
程序的功能是,单击“输入”按钮,输入整数N,产生一个N个[0,50]之间的 随机数并存入数组X中。 单击“求和”按钮,分别求数组X中奇数和偶数之和,并在窗体上输出奇偶数之和。 其中求奇偶数之和由通用过程Sum实现。请编写该过程的代码。
Dim x() As Integer, n As Integer, a As Integer, b As Integer, i As Integer Private Sub sum() For i = 1 To n
If x(i) Mod 2 = 0 Then b = b + x(i) Else
a = a + x(i) End If Next i End Sub
Private Sub Command1_Click()
n = Val(InputBox(\"输入整数N\")) ReDim x(n) Randomize For i = 1 To n
x(i) = Int(Rnd * 50) Next i End Sub
Private Sub Command2_Click() Call sum
Print \"奇数之和=\" & a Print \"偶数之和=\" & b
三、1、求一百个随机数的和,平均值,最大值。 Private Sub Form_Click() Dim i, max, s, num As Integer Randomize
num = Rnd(10) s = num max = s
For i = 2 To 100 num = Rnd(10) s = s + num
If num > max Then max = num Next i
Print s, s / 100, max End Sub
2、编写程序,要求通过调用SUB过程实现两个数的交换。
Sub swap(a, b) Dim t As Integer t = a: a = b: b = t End Sub
Private Sub Form_Click()
Dim a, b As Integer a = Val(InputBox(\"a=\")) b = Val(InputBox(\"b=\")) swap a, b Print a, b End sub
四、N个数冒泡排序
vb写一过程sort 将一组数(1——100之间的随机数)用 冒泡法 按升序排列
for i=1 to n-1 for j=1 to n-i-1 if a(j)>a(j+1) then
t=a(j)
a(j)=a(j+1) a(j+1)=t
end if next next
五、程序找出10个1-100之间的随机数中的第二大的数
Private Sub Form_Click() Dim a(1 To 10) As Integer
For i = 1 To 10 '取数 a(i) = Rnd * 100 Next i
Print \"10个随机数是\" '显示随机数 For i = 1 To 10 Print a(i) Next i
For i = 1 To 10 '进行冒泡排序 For j = i To 10
If a(i) < a(j) Then temp = a(i) a(i) = a(j) a(j) = temp End If Next j, i
Print \"第二大的数是\" & a(2) End sub
因篇幅问题不能全部显示,请点此查看更多更全内容