18个VB经典例题Word版.doc

上传人:rrsccc 文档编号:9163563 上传时间:2021-02-05 格式:DOC 页数:9 大小:80KB
返回 下载 相关 举报
18个VB经典例题Word版.doc_第1页
第1页 / 共9页
18个VB经典例题Word版.doc_第2页
第2页 / 共9页
18个VB经典例题Word版.doc_第3页
第3页 / 共9页
18个VB经典例题Word版.doc_第4页
第4页 / 共9页
18个VB经典例题Word版.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《18个VB经典例题Word版.doc》由会员分享,可在线阅读,更多相关《18个VB经典例题Word版.doc(9页珍藏版)》请在三一文库上搜索。

1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!1、随机产生三个100300之间的整数,判断这三个整数是否能构成三角形,如果可以,求三角形的面积。Dim x As Integer, y As Integer, z As IntegerDim c As Single, s As Singlex = Int(Rnd * 201 + 100)y = Int(Rnd * 201 + 100)z = Int(Rnd * 201 + 100)If x + y z And x + z y And y + z x Then c = (x + y + z) / 2 s = Sqr(c * (c - x)

2、* (c - y) * (c - z) Print 三角形面积是: & s Else Print 构不成三角形End If2、随机产生0100之间的60名学生的数学分数,分别统计分数在、之间的学生人数。Dim a%, b%, c%, d%, e%, f%, g%, h%, i%, j%Dim x As SingleFor m = 1 To 60 产生60名学生的分数 x = Rnd * 101 产生0100的分数 Print x; If x = 90 Then a = a + 1 ElseIf x = 80 Then b = b + 1 ElseIf x = 70 Then c = c + 1

3、 ElseIf x = 60 Then d = d + 1 ElseIf x = 50 Then e = e + 1 ElseIf x = 40 Then f = f + 1 ElseIf x = 30 Then g = g + 1 ElseIf x = 20 Then h = h + 1 ElseIf x = 10 Then i = i + 1 Else j = j + 1 End IfNext mPrint a, b, c, d, e, f, g, h, i, j3、我国有13亿人口,按照人口年增长0.8%计算,多少年以后我国人口超过26亿。Dim x As Double 人数一定要定义成

4、双精度的Dim n As Integerx = 1300000000n = 0Do While x = 0 Then x1 = (-b + Sqr(d) / (2 * a) 求方程的两个根 x2 = (b + Sqr(d) / (2 * a) x1 = Format(x1, .#) 对根规范化输出 x2 = Format(x2, .#)End IfPrint x1, x25、某次歌手大奖赛,共有10名选手,有10名评委打分。要求评委给10位选手打分,去掉一个最高分,去掉一个最低分,求出该选手的平均分。Dim i As IntegerDim j As IntegerDim max As Sing

5、le, min As Single, sum As Single, aver As SingleFor i = 1 To 10 十个选手的成绩 max = 0 min = 100 sum = 0 For j = 1 To 10 十个评委的分数 x = Rnd * 101 产生0100的分数 If x max Then max = x If x min Then min = x sum = sum + x Next j aver = (sum - max - min) / 8 Print aver;Next i6、求1到100以内的素数。Dim i As Integer, j As Intege

6、r, prime As BooleanFor i = 1 To 100 prime = True For j = 2 To Sqr(i) 判断一个数是否是素数 If i Mod j = 0 Then prime = False End If Next j If prime Then 如果prime = True则i是素数 Print i & 是素数 Else Print i & 不是素数 如果prime = False则i不是素数 End IfNext i7、求出100以内的所有勾股数(勾股数为a2+b2=c2,c为自然数,且ab)Dim a As Integer, b As Integer,

7、 c As IntegerFor a = 1 To 100 For b = 1 To 100 For c = 1 To 100 If c * c = a * a + b * b And a b Then Print a; b; c; Print End If Next c Next bNext a8、把输入的字符串逆序输出。Dim str As String, strRe As StringDim i As Integer str = Text1.Text 原字符串 For i = 1 To Len(str) strRe = Mid(str, i, 1) & strRe 字符串逆序 Next

8、i Text2.Text = strRe 逆序后的字符串9、随机产生0100之间的60名学生的数学分数,分别统计分数在、之间的学生人数。(用数组实现)Dim i As Integer, s(1 To 10) As Integer, mark(1 To 60) As Integer,For i = 1 To 60 mark(i) =int( Rnd * 101) 随机产生0100之间的分数 Print mark(i); 输出60个分数 Select Case mark(i) Case Is 10 s(1) = s(1) + 1 Case Is 20 s(2) = s(2) + 1 Case Is

9、 30 s(3) = s(3) + 1 Case Is 40 s(4) = s(4) + 1 Case Is 50 s(5) = s(5) + 1 Case Is 60 s(6) = s(6) + 1 Case Is 70 s(7) = s(7) + 1 Case Is 80 s(8) = s(8) + 1 Case Is 90 s(9) = s(9) + 1 Case Is max Then max = mark(i) 找出最大数 If mark(i) mark(n + 1) Then mark(n + 2) = mark(n + 2) + 1Print mark(i); 输出学生成绩Nex

10、t iPrint mark(n + 1); mark(n + 2) 输出平均分与高于平均分的人数12、随机生成包含10个数组元素的有序数组,然后第一个与第六个进行交换,第二个与第七个进行交换。,并把原数组以及交换后的数组分别在窗体上显示出来。Dim s(1 To 10) As IntegerFor i = 1 To 10 产生10个数s(i) = Int(Rnd * 101)Print s(i); 输出交换前的数值Next iPrintFor i = 1 To 5 实现交换t = s(i)s(i) = s(5 + i)s(5+ i) = tNext iFor i = 1 To 10Print

11、s(i); 输出交换后的数值Next i13、已知数组a=Array(1,4,8,5,10),b(6),通过数组a给数组b赋值;用选择法按照升序对数组b排序,对排序后的数组插入元素6,使b数组有序;删除元素5,并使数组元素个数减1。Option Base 1Private Sub Command1_Click()Dim b(1 To 6) As Integer, a As Varianta = Array(1, 4, 8, 5, 10)For i = 1 To 5 用数组A给数组B赋值b(i) = a(i)Print b(i); 输出数组B的前5个元素Next iPrint b(6); 输出数

12、组B最后一个元素PrintFor i = 1 To 5 用选择法对数组B升序排序Min = i For j = i + 1 To 6 If b(j) b(Min) Then Min = j Next jt = b(i): b(i) = b(Min): b(Min) = tNext iFor i = 1 To 6 输出数组B的所有元素Print b(i);Next iPrint下面是对有序数组B插入元素6For j = 2 To 6 If 6 b(j - 1) Then 找出插入位置 For i = 1 To j - 1 插入位置以前的元素向前移动一个位置 b(i) = b(i + 1) Nex

13、t i b(j - 1) = 6 在准确的位置插入6 End IfNext jFor i = 1 To 6 输出插入6以后的数组B的所有元素 Print b(i);Next iPrintDim c() As Integer 定义数组C是一个动态数组ReDim c(1 To 6) As IntegerFor i = 1 To 6 c(i) = b(i)Next i下面是删除元素5For i = 1 To 6If c(i) = 5 Then 如果数组C里面有5就进行删除 For j = i To 5 把元素5后面的元素向前移动一个位置 c(j) = c(j + 1) Next j End If N

14、ext iReDim Preserve c(5) 只保留数组C里面前面的5个元素,达到了删除目的For i = 1 To 5Print c(i); 输出删除5以后的数组元素Next iEnd Sub14、编写一个无参数Sub过程Triangle,在窗体上输出用“*”组成的如下图所示的三角形图案。被调过程Public Sub Triangle() 子过程Print *Print * * *Print * * * * *Print * * * * * * * Print * * * * * * * * *End Sub主调过程Private Sub Command1_Click()Call Tri

15、angle 调用子过程End Sub15、把上面的Triangle过程改造成带参数的过程,使之能输出任意行三角形图案,并尝试用两种方法调用。被调过程Public Sub Triangle(n As Integer)For i = 1 To nPrint Tab(n - i); String(2 * i - 1, *);Next iEnd Sub主调过程Private Sub Command1_Click()Dim a As Integera = Val(InputBox(请输入a)Call Triangle(a)End Sub16、编写一个函数Prime,用于判断一个自然数是否为素数。调用此函

16、数输出3100之间的所有的素数。(提示:函数Prime的类型使用布尔型)被调函数Public Function Prime(m As Integer, n As Integer) As BooleanDim i As Integer, j As Integer判断m-n之间的所有素数For i = m To nPrime = TrueFor j = 2 To Sqr(i) 判断一个数是否是素数 If i Mod j = 0 Then Prime = False End If Next j If Prime Then 如果prime = True则i是素数 Print i & 是素数 Else

17、Print i & 不是素数 如果prime = False则i不是素数 End IfNext iEnd Function主调过程Private Sub Command1_Click()Dim a As Integer, b As IntegerDim c As Booleana = Val(InputBox(请输入a)b = Val(InputBox(请输入b)c = Prime(a, b)End Sub17、编写函数,判断某数是否是“水仙花数”。并用此函数输出100999之间的所有的水仙花数、所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。主调函数Private Sub C

18、ommand1_Click()Dim a As Integer, b As IntegerDim c As Booleana = Val(InputBox(请输入a)b = Val(InputBox(请输入b)c = shuixianhua(a, b)End Sub被调函数Public Function shuixianhua(m As Integer, n As Integer) As BooleanDim i As Integer, j As Integer, x As Integer, y As Integer, z As Integer判断m-n之间的所有水仙花数For i = m T

19、o nshuixianhua = Falsex = i 100 得到百分位的数y = (i - x * 100) 10 得到十位上的数z = i Mod 10 得到各位上的数If x 3 + y 3 + z 3 = i Then shuixianhua = TrueEnd IfIf shuixianhua Then Print i & 是水仙花数End IfNext iEnd Function18、编写一个Find函数,能够查找用户输入的数是否在一个随机数组中,如果在数组中,则把它的位置显示出来。Public Function Find(n As Integer, b() As Integer) As IntegerFor i = LBound(b) To UBound(b) If n = b(i) Then Find = i End IfNext iEnd FunctionPrivate Sub Command1_Click()Dim a(1 To 10) As IntegerDim c As Integer, d As Integerc = Val(InputBox(请输入数字c)For i = 1 To 10a(i) = iPrint a(i);Next id = Find(c, a()PrintPrint dEnd Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1