我们要做个VB作业,根本无从下手。。求大神帮助 10

1.在通用声明中加一条声明语句OptionExplicit,对所有变量先声明再使用;每一题在打印结果时先清屏(Cls方法),并按每行5个数据的方式进行数组的输出;2.单击... 1. 在通用声明中加一条声明语句Option Explicit,对所有变量先声明再使用;每一题在打印结果时先清屏(Cls方法),并按每行5个数据的方式进行数组的输出;
2. 单击 “第一题”后,从键盘上任意输入10个数,放入第一个数组中。再将第一个数组中的正数放入另一个数组中,接着统计正数数组的个数、总和、最大数、最小数。
先声明两个有10个元素的数组(如数组x和数组y);
通过循环结构输入10个数给数组x;
输出数组x;
将数组x中的正数放入到y数组,并统计出正数的个数;程序结构如下:
n = 0
For I = 1 To 10
If x(I) > 0 Then '判断是正数吗
n = n + 1 '统计正数个数
y(n) = x(I) '存入y数组
End If
Next I
参考上课讲义对y(1)~y(n)这些下标变量进行求和、找最大、最小的处理。

3. 单击“第二题”后,由随机函数产生50个100—300之间的随机整数放入第一个数组中,将它们中的偶数放入另一个数组,再对偶数数组按从大到小的顺序进行排序。
先声明两个有50个元素的数组(如数组x和数组y);
通过循环结构产生50个∈[100,300]的随机整数给数组x;
输出数组x;
将数组x中的偶数放入到y数组;(参照第一题的程序结构)
参考上课讲义对y数组排序并输出结果。

4. 单击“第三题”后,由随机函数产生20个两位随机整数放入数组中,再从键盘上用InputBox函数输入一个整数,在数组中找出该数并删除(如果有多个相同数,则只删除找到的第一个),若数组中没有该数,输出“无此数据”。
参考上课讲义例题。
展开
 我来答
侍秋颖07u
2015-05-22
知道答主
回答量:1
采纳率:0%
帮助的人:1348
展开全部
Option Explicit
Dim i, t, s, b, c, k, l, temp, max, m, n As Integer
Private Sub Command1_Click()
Cls
t = 0: s = 0
Dim a(1 To 10) As Single
For i = 1 To 10
a(i) = Val(InputBox("请输入第" & i & "个数", "8_1"))
Next i
Print "原始数组:"
For i = 1 To 10
Print a(i),
If i Mod 5 = 0 Then Print
Next i
Print
Print "正数数组:"
For i = 1 To 10
If a(i) > 0 Then
t = t + 1: s = s + a(i)
Print a(i),
If i Mod 5 = 0 Then Print
End If
Next i
Print ""
Print "正数和="; s
Print "正数个数="; t
b = a(1)
For i = 1 To 10
If a(i) > b Then b = a(i)
Next i
Print "正数最大="; b
c = a(1)
For i = 1 To 10
If a(i) < b Then b = a(i)
Next i
Print "正数最小="; c
End Sub
Private Sub Command2_Click()
Cls
t = 0: c = 0
Print "原始数组:"
Dim a(1 To 50) As Single
Randomize
For i = 1 To 50
a(i) = Int(Rnd * 200) + 100
Print a(i),
If i Mod 5 = 0 Then Print
Next i
Print ""
Print "偶数数组;"

ReDim b(50) As Integer
For i = 1 To 50
If a(i) Mod 2 = 0 Then
c = c + 1
b(c) = a(i)
Print b(c),
t = t + 1
If t Mod 5 = 0 Then Print
End If
Next i
Print ""
Print "排序后偶数数组:"

For k = 1 To c - 1
max = b(k)
For l = k + 1 To c
If max < b(l) Then
max = b(l)
temp = b(k): b(k) = b(l): b(l) = temp
End If

Next l
Print max,
m = m + 1
If m Mod 5 = 0 Then Print
Next k
End Sub
Private Sub Command3_Click()
Print "原始数组:"
Dim x(1 To 20) As Integer
For i = 1 To 20
Randomize
x(i) = Int(90 * Rnd) + 10
Print x(i),
m = m + 1
If m Mod 5 = 0 Then Print
Next i
s = Val(InputBox("请输入要删除的一个整数", "8-1"))
ReDim b(20) As Integer
For i = 1 To 20
If x(i) - s = 0 Then
n = n + 1
b(n) = x(i)
End If
Next i
If b(1) <> 0 Then
Print "要删除的整数为:"; b(1)
Else
Print "无此数据!"
End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式