为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > VB程序

VB程序

2011-08-20 25页 doc 164KB 24阅读

用户头像

is_570884

暂无简介

举报
VB程序1 模(一 二) 1.从键盘上输入3个数分别放入x y z中,编程使x中的数最大,z中的数最小。 Private Sub Form_Click() x = Val(InputBox("请输入x")) y = Val(InputBox("请输入y")) z = Val(InputBox("请输入z")) If x m Then judge = True Else judge = False End Function Private Sub Command1_Click() Dim c As Integer For i = 20...
VB程序
1 模(一 二) 1.从键盘上输入3个数分别放入x y z中,编程使x中的数最大,z中的数最小。 Private Sub Form_Click() x = Val(InputBox("请输入x")) y = Val(InputBox("请输入y")) z = Val(InputBox("请输入z")) If x < y Then t = x: x = y: y = t If y < z Then t = y: y = z: z = t If x < y Then t = x: x = y: y = t Print x; y; z End Sub 2.用近似公式求自然对数e的值,精确到1/n! m Then judge = True Else judge = False End Function Private Sub Command1_Click() Dim c As Integer For i = 200 To 300 If judge(i) Then c = c + 1 Next i Print "200到300之间共有"; c; "个素数" End Sub 5.模拟彩票自动选号在文本框内显示30以内的7个数,且互不相同。 Private Sub Form_Click() Dim a(1 To 7) As Integer Randomize a(1) = Int(Rnd() * 30) + 1 For i = 2 To 7 n = Int(Rnd() * 30) + 1 For j = 1 To i - 1 If a(j) = n Then Exit For Next j If j = i Then a(i) = n Else i = i – 1 Next I Text1.Text = "" For i = 1 To 7 Text1.Text = Text1.Text & a(i) & " " Next i End Sub 6.利用循环,打印输出下图。 * *** ***** ******* ********* ******* ***** *** * Private Sub Command1_Click() For i = 1 To 5 Print Tab(20 - i); String(2 * i - 1, "*") Next i For i = 4 To 1 Step -1 Print Tab(20 - i); String(2 * i - 1, "*") Next i End Sub 7.找出3—100之间的所有孪生素数。 Private Function isprime(i) As Boolean For j = 2 To i - 1 If i Mod j = 0 Then Exit For Next j If j = i Then isprime = True End If End Function Private Sub Form_Click() For i = 3 To 100 If isprime(i) And isprime(i + 2) Then Print i; i + 2 End If Next i End Sub 8.随机产生10个两位整数放在数组a中,然后求出其中的最大值 最小值和平均值。 Private Sub Form_Click() Dim a(1 To 10) As Integer Max = 10 Min = 99 For i = 1 To 10 a(i) = Int(Rnd() * 90) + 10 Print a(i); If a(i) > Max Then Max = a(i) If a(i) < Min Then Min = a(i) s = s + a(i) Next i Print Print "max="; Max; "min="; Min; "average="; s / 10 End Sub 9.编程:单击“写入数据”按钮,程序将取10个[10,100]的随机数,并存入“abc.dat”,单击“读取数据”按钮,程序将从文件“abc.dat”中读出写入的10个数显示在窗体上,每行显示5个数。 Private Sub Command1_Click() Dim i, a As Integer Open "abc.dat" For Output As #1 Randomize For i = 1 To 10 a = Int(Rnd() * 90) + 10 Write #1, a Next i Close #1 End Sub Private Sub Command2_Click() Dim i, a As Integer Open "abc.dat" For Input As #1 Do While Not EOF(1) Input #1, a Print a; i = i + 1 If i Mod 5 = 0 Then Print Loop Close #1 End Sub 10.小红12岁,父亲大她30岁,编程计算她父亲在几年后比她年龄大一倍,那时父女年龄各为多少? Private Sub Form_Click() Dim a As Integer a = 12 Do While a * 2 <> a + 30 a = a + 1 Loop Print "经过"; a - 12; "年" Print "父女的年龄分别是"; a + 30; a End Sub 模拟卷3 1.根据上网时间计算上网费用,每月收费最多不超过100元 Private Sub Command1_Click() Dim a As Integer a = Val(InputBox("请输入请输入上网时间")) If a > 0 Then Select Case a Case Is < 10 Page = 30 Case Is < 60 Page = a * 2 Case Else Page = a * 1.5 End Select Else MsgBox "没有上网,无需交费" End If If Page > 100 Then Page = 100 Print "您本月共上网"; a; "小时,需交费"; Page; "元" End Sub 2.有一个台阶,每步跨2个台阶最后剩1个,3步2个……..6步5个,7步恰好走完,问有多少台阶 Private Sub Command1_Click() Dim a As Integer, i As Integer Do While True i = i + 1 If i Mod 2 = 1 And i Mod 3 = 2 And i Mod 4 = 3 And i Mod 5 = 4 And i Mod 6 = 5 And i Mod 7 = 0 Then Print "该阶梯至少有"; i; "阶" Exit Do End If Loop End Sub 3.某大奖赛,7个评委打分,满分100分,对一名参赛者,输入7个评委的打分分数,去掉一个最高分,一个最低分,求出平均分为该参赛者的得分。编写程序输入评委的打分,输出参赛者的得分。 Private Sub Command1_Click() Dim max As Integer, min As Integer Dim i As Integer, s As Integer, f As Integer max = 0 min = 100 For i = 1 To 7 f = InputBox("请输入评委的打分") If f > max Then max = f If f < min Then min = f s = s + f Next i aver = (s - max - min) / 5 Print "参赛者最后得分为"; aver, max, min End Sub Private Sub Command1_Click() Dim str1 As String, str2 As String Dim i As Integer, k As String str1 = InputBox("") str2 = "" k = Len(str1) For i = k To 1 Step -1 str2 = str2 + Mid(str1, i, 1) Next i Print str2 End Sub 4输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变成“GFEDCBA” Private Sub Command1_Click() Dim str1 As String, str2 As String Dim i As Integer, k As Integer str1 = InputBox("") str2 = "" k = Len(str1) For i = k To 1 Step -1 str2 = str2 + Mid(str1, i, 1) Next i Print str2 End Sub 5.求完备数,完备数(例:6=1+2+3),用过程实现对完备数的判断,编程找出1~1000之间所有完备数 Private Sub Command1_Click() Dim x As Integer, t As Boolean For x = 1 To 1000 Call wanbeishu(x, t) If t = True Then Print x Next x End Sub Private Sub wanbeishu(x As Integer, t As Boolean) Dim s As Integer Dim i As Integer s = 0 For i = 1 To x / 2 If x Mod i = 0 Then s = s + i Next i If s = x Then t = True Else t = False End Sub 6.写个程序,实现对任意数组按升序排序,随机生成20个100以内的整数,调用排序过程,将其中的奇数和偶数分两行按升序显示在窗体上。 Option Base 1 Private Sub Command1_Click() Dim a(20) As Integer, b() As Integer, c() As Integer Dim m As Integer, n As Integer Picture1.Print "生成20个100以内的正整数" For i = 1 To 20 a(i) = Int(Rnd * 100) Picture1.Print a(i); If i Mod 10 = 0 Then Picture1.Print Next i m = 0: n = 0 For i = 1 To 20 If a(i) Mod 2 = 0 Then m = m + 1 ReDim Preserve b(m) b(m) = a(i) Else n = n + 1 ReDim Preserve c(n) c(n) = a(i) End If Next i Call paixu(b()) Call paixu(c()) Picture1.Print Picture1.Print "偶数行" For i = 1 To m Picture1.Print b(i); Next i Picture1.Print Picture1.Print Picture1.Print "奇数行" For i = 1 To n Picture1.Print c(i); Next i End Sub Private Sub Command2_Click() Picture1.Cls End Sub Private Sub Command3_Click() End End Sub Sub paixu(a() As Integer) For i = LBound(a) To UBound(a) - 1 For j = i + 1 To UBound(a) If a(i) > a(j) Then t = a(i): a(i) = a(j): a(j) = t End If Next j, i End Sub 7.文本文件的合并,将文本文件t1.txt合并到t2.txt中 Private Sub Command1_Click() Open "d:\t1.txt" For Input As #1 Open "d:\t2.txt" For Append As #2 Do While Not EOF(1) Line Input #1, x Print #2, x Loop Close End Sub 模拟卷四 1.商店在售出某一件商品时,假设单价是12.5元,如果一次购买10~99之间,按9.8折出售,100~199之间,按9.5折,200件以上,按9.0折出售。写程序,从键盘输入购买数量是,计算出货款 Private Sub Command1_Click() price = 12.5 num = Val(text1.Text) Select Case num Case Is < 10 r = 1 Case Is < 100 r = 0.98 Case Is < 200 r = 0.95 Case Else r = 0.9 End Select cost = num * price * r label2.Caption = "优惠率" & r label3.Caption = "货款" & cost End Sub 2.打印菱形的图案 “*” * *** ***** ******* ********* ******* ***** *** * Private Sub Command1_Click() For i = 1 To 4* Print Tab(10 - i) For j = 1 To 2 * i - 1 Print "*"; Next j Print Next i For k = 3 To 2 * k - 1 Print "*"; Next j Print Next k End Sub 3.编写求阶乘的通用过程,计算1!+3!+5!+。。。。。+(2N+1)!的值 Public Function jc(n As Integer) As Long jc = 1 For i = 1 To n jc = jc * i Next i End Function Private Sub Command1_Click() Dim i As Integer n = Val(InputBox("")) s = 0 For i = 1 To 2 * n + 1 Step 2 s = s + jc(i) Next i Print "1!+3!+...+"; 2 * n + 1; "!="; s End Sub 4.随机产生30~100(包括30,100)的10个整数,求最大值、最小值、平均值 Private Sub Command1_Click() Dim i%, s%(1 To 10), max%, min%, avg! For i = 1 To 10 s(i) = Int(Rnd * 71 + 30) Next i max = s(1) min = s(1) avg = s(1) For i = 2 To 10 If s(i) > max Then max = s(i) If s(i) < min Then min = s(i) avg = avg + s(i) Next i avg = avg / 10 For i = 1 To 10 Print s(i); Next i Print Print "max="; max; "min="; min; "avg="; avg End Sub 5.编程统计文本文件data.txt(已存在D盘)中字符“a”出现次数,并将统计结果写入文本文件d:\result.txt中 Private Sub Command1_Click() Dim x As String * 1, n As Integer Open "d:\data.txt" For Input As #1 Open "d:\result.txt" For Output As #2 Do While Not EOF(1) x = Input(1, 1) If x = "a" Then n = n + 1 Loop Print #2, "字符a在文件data.txt中出现的次数为: " Print #2, n; "次" Close End Sub 模拟七 1.输入一个整数,判断是奇数还是偶数 Private Sub Form_Click() Dim n As Integer n = Val(InputBox("输入一个整数")) If n Mod 2 = 0 Then Print n; " 是偶数" Else Print n; " 是奇数" End If End Sub 2.判断素数:在窗体上打印输出100到300之间所有素数 Private Sub Form_Click() Dim t%, i%, n%, m% n = 0 For t = 100 To 300 m = Sqr(t) For i = 2 To m If t Mod i = 0 Then Exit For Next i If i > m Then Print t n = n + 1 If n Mod 10 = 0 Then Print End If Next t End Sub 3.有一个“student”文本文件,是一个班学生(假定5个学生)的考试成绩,数据排列形式是:学号,姓名,成绩,英语成绩,计算机成绩。请编写程序实现在每个数据行后面添加该学生的总分和平均成绩两个数据项。 Private Sub Form_Click() Dim a%, b%, c%, d%, e%, f As Integer Dim i As Integer Dim name As Integer Open "Student" For Input As #1 Open "New_Student" For Output As #2 For i = 1 To 5 Input #1, a, name, b, c, d e = a + b + c f = e / 3 Print #2, a, name, b, c, d, e, f Next i Close Kill ("Student") Name "New_Student" As "Student" End Sub 4.设计一个通用函数过程(或子过程),判定数据m是否为完全数,然后调用该过程,输出1000之内的所有完全数。(“完全数”是指一个数恰好等于它的因子之和) Public Function ws(ByRef m As Integer) As Boolean Dim i%, s% For i = 1 To m / 2 If m Mod i = 0 Then s = s + i End If Next If s = m Then ws = False Else ws = False End If End Function Private Sub Form_Click() Dim i As Integer For i = 1 To 1000 If ws(i) Then Print i; ""; End If Next i End Sub 5.排序:用随机函数产生50个[10,100)的随即整数,并按由大到小的顺序打印出来。 (要求:设计界面,排序前后的数据在图片框输出,10个数一行) Private Sub Command1_Click() Dim i% Randomize Picture1.Print "排序前数据:" For i = 1 To 50 a(i) = Int(Rnd * 90) + 10 Picture1 .print a(i); If i Mod 10 = 0 Then Picture1.Print Next i Picture1.Print End Sub Private Sub Command2_Click() Dim i%, j%, t%, imax% For i = 1 To 49 imax = i For j = i + i To 50 If a(j) > a(imax) Then imax = j Next j If imax <> i Then t = a(i): a(i) = a(imax): a(imax) = t End If Next i Picture1.Print "排序后数据:" For i = 1 To 50 Picture1 .print a(i); If i Mod 10 = 0 Then Picture1 .print Next i End Sub Private Sub Command3_Click() Picture1 .Cls End Sub 模拟八 1.s=1!+2!+3!+…+19!-20! Private Sub Command1_Click() s = 0 t = -11 For i = 1 To 20 t = -t * i s = s + 1 Next i Print "s="; s End Sub 2.判断****年是否为闰年。(条件:能被4整除,但不能被100整除,或能被400整除) Private Sub Command1_Click() y = Val(InputBox("请输入年份")) if (y mod 4 =0 And y mod 100 <> 0) or y mod 400 =0 then MsgBox y & "闰年" Else MsgBox y & "不是闰年" End If End Sub 3.设a为一整数,如果能使a^2=8**a成立,则称a是“守形数”。编写查找1~1000内所有守形数(在窗体上打印) Private Sub Command1_Click() For n = 1 To 1000 l = Len(n) s = Right(Str(n * n), 1) If n = Val(s) Then Print n Next n End Sub 4.编程输出3——200之间的所有素数(要求:判断素数用自定义函数实现) Function judge(i As Long) As Boolean m = Int(Sqr(i)) For j = 2 To m If i Mod j = 0 Then Exit For Next j If j > m Then judge = ture Else judge = False End Function Private Sub Command1_Click() For i = 3 To 200 If judge(i) Then Print i Next i End Sub 5.利用随即函数产生100个随机三位整数,按照每行10个数输出,再将其中十位数为7的整数按照由小到大的顺序排序后输出 Private Sub Command1_Click() Dim a(1 To 100) As Integer Dim b() As Integer Randomize n = 0 For i = 1 To 100 a(i) = Int(Rnd * 900 + 100) Print a(i) If i Mod 10 Then Print If (a(i) Mod 100) \ 10 = 7 Then n = n + 1 ReDim Preserve b(n) b(n) = a(i) End If Next i Print Print For i = 1 To n - 1 For j = i + 1 To n If b(j) > b(j) Then t = b(i): b(i) = b(j): b(j) = t Next j Next i For i = 1 To n Print b(i) If i Mod 10 = 0 Then Print Next i End Sub 模(九) 1、编写一程序,允许用户输入2个非0整数x和y,作为一个点的坐标(x,y),判断其所在的象限。 Private Sub Command1_Click() Dim x, y As Integer x = Val(InputBox("input number")) y = Val(InputBox("input number")) If x > 0 And y > 0 Then MsgBox ("第一象限") If x < 0 And y > 0 Then MsgBox ("第二象限") If x < 0 And y < 0 Then MsgBox ("第三象限") If x > 0 And y < 0 Then MsgBox ("第四象限") End Sub 2、输出200以内的素数。 Private Function pp(byval m%) As Integer For j = 2 To Sqr(m) If m Mod j = 0 Then Exit For Next j If j > Sqr(m) Then pp = 1 Else pp = 0 End If End Function Private Sub Command1_Click() For i = 2 To 200 If pp(i) = 1 Then Print i Next i End Sub 3、利用随机函数产生100个1到100之间的整数存放在一个数组a中,按照每行10个输出该数组,再将其按照由小到大的顺序排序后输出。 Private Sub Command1_Click() Dim a(1 To 100) As Integer For i = 1 To 100 a(i) = Int(Rnd(1) * 100 + 1) Next i For i = 1 To 100 Print a(i); If i Mod 10 = 0 Then Print Next i For i = 1 To 99 Min = i For j = i + 1 To 100 If a(j) < a(Min) Then Min = j Next j t = a(Min) a(Min) = a(i) a(i) = t Next i Print For i = 1 To 100 Print a(i) If i Mod 10 = 0 Then Print Next i End Sub 4、求鸡兔同笼问题。有i只鸡,j只兔。鸡兔总有71,脚数158.求鸡、兔各多少。 Private sub form_click() For i= 0 to 71 For j =0 to 71 If i+j=71and 2*i+4*j+158 then print I,j Next j,i End sub 5、设存在一文本文件(c:vb\ks.txt),其文件格式和内容如下图,图略 Private Sub Command1_Click() Dim s$ Dim s1$, s2$, d!, c%, v%, sum! v = 0 sum = 0 Open "c:\vb\ks.txt" For Input As #1 line input#1 s Print s Do While Not EOF(1) Input #1, s1, s2, d, c v = v + c sum = sum + d * c Print s1, s2, d, c Loop Print "总册数及总费用:"; v, sum End Sub 模(十) 1、​ 单击窗体从键盘中输入20个整数,将这20个数据按从小到大的顺序排列,然后在窗体上打印出来,要求每行打印五个数据。 Private Sub Form_click() Dim a(1 To 20) As Integer For i = 1 To 20 a(i) = Val(InputBox("请输入第" & i & "个数")) Print a(i) Next i Print For i = 1 To 19 For j = i + 1 To 20 If a(i) > a(j) Then t = a(i): a(i) = a(j): a(j) = t Next j Next i For i = 1 To 20 Print a(i) If i Mod 5 = 0 Then Print Next i End Sub 2、编程求200以内的素数。 Private Sub Form_Click() Dim i, j, a As Integer For i = 1 To 200 For j = 2 To i - 1 If i Mod j = 0 Then Exit For Next j If j > i - 1 Then Print i; " " End If Next i End Sub 3、​ 编程实现输入x的值(用inputbox函数输入),按以下公式求y值,并单击窗体时在窗体上打印xy的值(窗体名为form1) 100-x x<0 Y=100+x 0<=x<=100 400​ x>100 Private Sub Form_click() x = Val(InputBox("请输入x的值")) If x < 0 Then y = 100 - x If x >= 0 And x <= 100 Then y = 100 - x If x >= 0 And x <= 100 Then y = 100 + x If x > 100 Then y = 400 Print x, y End Sub 4、​ 在窗体上有一个文本框text1,两个命令按钮command1和command2,通过文本框输入文本,当单击command1时,将文本框中的内容以顺序文件的方式写到c:\qq.txt文件中;当单击窗体时,清除文本框中的内容;当单击command2时,把c:\qq.txt文件的内容读到文本框中。 Private Sub Command1_Click() Open "c:\qq.txt" For Output As #1 Print #1, Text1 Close End Sub Private Sub Command2_Click() Open "c:\qq.txt" For Input As #1 Do While Not EOF(1) Line Input #1, a Text1 = Text & a & Chr(13) & Chr(10) Loop Close End Sub Private Sub Form_click() Text1 = "" End Sub 5、​ 编写一个求n的阶乘和的子过程,在command1_click()事件中调用该过程,其中n的值通过键盘输入。 Public Sub jiecheng(n%) s = 0: t = 1 For I = 1 To n t = t * I s = s + t Next I Print s End Sub Private Sub Command1_Click() Dim m% m = Val(InputBox("请输入数据")) Call jiecheng(m) End Sub 模拟五 1、​ 老师在统计学生的成绩情况时,有这样的标准: 60分一下为E等,60---69为D等,70---79为C等,80---89为B等,90---100为A等,则在判断某个学生的成绩好坏时,就可以根据该学生成绩的具体分数确定他们所属的档次。要求设计程序,当输入成绩X时,输出所属的等级。 用select case 语句实现的程序段如x=INPUTBOX("请输入成绩") Select Case x Case 90 To 100 Print "优秀" Case 80 To 89 Print "良好" Case 70 To 79 Print "中等" Case 60 To 69 Print "及格" Case Else Print "不及格" End Select 1、​ 编一个求n!的子过程,然后调用它计算:7!+11!-10! Private Sub Form_Click() Dim a, b, c, d As Long Call jch(7, a) Call jch(11, b) Call jch(10, c) d = a + b - c Print "7!+11!-10!="; d End Sub Sub jch(n As Integer, p As Long) Dim i% p = 1 For i = 1 To n p = p * i Next i End Sub 1、​ 随机产生10个【10,100】的随机整数,利用一种排序算法,按照由小到大的顺序排列,并输出。 Dim a(1 To 10) As Integer Private Sub Command1_Click() Dim i, j, t, imin As Integer For i = 1 To 9 imin = i For j = i + 1 To 10 If a(j) < a(imin) Then imin = j Next j t = a(i) a(i) = a(imin) a(imin) = t Next i For i = 1 To 10 Print a(i) Next i End Sub Private Sub Form_Load() For i = 1 To 10 a(i) = (100 - 10 + i) * Int(Rnd(0) + 10) Next i End Sub 1、​ 产生10个整数放在数组中,将其顺序颠倒后输出。如下图所示。 交换前 2 4 6 8 10 1 3 5 7 9 交换后 9 7 5 3 1 10 8 6 4 2 Dim A(10), i, t As Integer For i = 1 To 10 A(i) = 14 + i Next i For i = 1 To 10 Print A(i) Next i Print Print For i = 1 To 5 t = A(i) A(i) = A(10 - i + 1) A(10 - i + 1) = t Next i For i = 1 To 10 Print A(i) Next i 1、​ 用Input语句读出并显示t1.text文件的内容。如下图所示。 Private Sub Form_Load() Open "ti.text" For Input As #1 text1.Text = Input(LOF(1), #1) Close #1 End Sub 模拟试题六 1、​ 求解一元二次方程:ax*x+bx+c=0 (a≠0),b,c为输入的任何值 Dim a, b, c, delt, realpart, imagpart As Single a = Val(text1.Text): b = Val(text2.Text): c = Val(text3.Text) delt = b * b - 4 * a * c If delt = 0 Then label2.Caption = "有两个相等实根" text4.Text = "x1=" & -b / 2 / a text5.Text = "x2=" & -b / 2 / a label2.Caption = "有两个不等实根" text4.Text = "x1=" & (-b + Sqr(delt)) / (2 * a) text5.Text = "x2=" & (-b - Sqr(delt)) / (2 * a) label2.Caption = "有两个共轭复根:" realpart = -b / (2 * a) imagpart = Sqr(delt) / (2 * a) text4.Text = "x1=" & realpart & "+" & imagpart & "i" text5.Text = "x2=" & realpart & "-" & imagpart & "i" 2、定义一个判断X是否为素数的子过程。 Private Sub ss(x As Integer) w = fasle m = Sqr(x) For j = 2 To m If x Mod j = 0 Then Exit For Next j If j > m Then w = ture End Sub 3、数组A中存放30个数据,随机输入一个数,查找其位置,如不存在给出适当的提示. Dim a(30) As Single Private Sub Form_Click() Dim x As Single RemA数组中的数据已经存在或有其他过程取得,在此可不编写数组赋值程序 x = Val(InputBox(请输入需要查找得数)) For i = 1 To 30 If x = a(i) Then Print "查找的数的位置"; i Exit For End If Next i If i > 30 Then MsgBox "你输入的数据不存在" End Sub 4、求正整数a,b的最大公约数和最小公位数 x = Val(text1.Text) y = Val(text2.Text) m = x * y If x < y Then t = x x = y y = t End If For i = y To 1 Step -1 If x Mod i = 0 And y Mod i = 0 Then text3.Text = Val(i) Exit For End If Next i If i Mod x = 0 And i Mod y = 0 Then text4.Text = Val(i) Exit For End If Next i 5、​ 随机模拟产生30个60---100之间的随机整数作为学生考试成绩,按降序顺序排列后,在窗体上按每行10个数打印出来,并统计出60—69,70—79,80—89,90---100各个分数段的学生人数。 Dim a(1 To 30) As Integer, sum As Integer, aver As Single, i%, j% Dim b(5) As Integer, x% For i = 1 To 30 a(i) = 60 + Int(41 * Rnd) x = Int(a(i) / 10) b(x - 5) = b(x - 5) + 1 Next i For i = 1 To 29 For j = i To 30 If a(i) < a(j) Then temp = a(i): a(i) = a(j): a(j) = temp Next j Next i Print "排序后结果为:" For i = 1 To 30 If i Mod 10 = 0 Then Print a(i) Else Print a(i) Next i Print "60-69,70--79,80-89,90-100各个分数段的人数为:"; b(1); b(2); b(3); b(4) + b(5) 模拟十一 1.随机产生50个1-100之间的整数,输出其中最小的数 Private Sub Form_Click() Dim n As Integer, min As Integer, i As Integer min = 100 For i = 1 To 50 n = Int(Rnd * 100) + 1 If n < min Then min = n Next i Print min End Sub 2.设sum=1+2+3+...+N,设计一个程序,求sum不超过10000的最大整数项数N Private Sub Form_Click() Dim sum%, n% sum = 0: n = 1 Do While sum < 10000 sum = sum + n n = n + 1 Loop Print n - 2 End Sub 3.用随机函数产生100个【0,99】范围内的随机整数,统计个位上的数字分别为0,1,2,3,4,5,6,7,8,9的数的个数并打印出来 Private Sub Form_Click() Dim m%, x(9) As Integer For i = 1 To 100 m = Int(Rnd * 100) j = m Mod 10 x(j) = x(j) + 1 Next i For j = 0 To 9 Print j; x(j) Next j End Sub 4.编写一个求n!的通用函数过程,然后调用该函数,求出sum=1!+2!+...+10! Private Sub Form_Click() Dim i%, sum As Long For i = 1 To 10 sum = sum + f(i) Next i Print sum End Sub Private Function f(n) Dim s As Long, i As Integer s = 1 For i = 1 To n s = s * i Next i f = s End Function 6. 随机产生50个1-100之间的随机整数,并按递增的顺序排序,将排序前后的数据按每行10个显示在窗体 Private Sub Form_Click() Dim a(1 To 50) As Integer Print "" For i = 1 To 50 a(i) = Int(Rnd * 100) Print a(i) If i Mod 10 = 0 Then Print Next i For i = 1 To 49 imin = 1 For j = i + 1 To 50 If a(j) < a(imin) Then imin = j Next j t = a(i) a(i) = a(imin) a(imin) = t Next i Print Print "" For i = 1 To 50 Print a(i) If i Mod 10 = 0 Then Print Next i Print End Sub 模拟卷十二 1.创建一个窗体Form1,在Form1-Load事件过程中设置窗体属性:标题为“欢迎”,宽度为400,高度为500,左边距为1000,上边距为1000,字体为宋体,字号为36磅 Private Sub Form_Load() Form1.Caption = "欢迎" Form1.Width = 400 Form1.hight = 500 Form1.Left = 1000 Form1.Top = 500 Form1.FontName = "宋体" Form1.FontSize = 36 End Sub 2.创建一个窗体,在窗体上放置一个文本框Text1和一个命令按钮Command1,在文本框内输入一个三位整数,单击命令按钮Command1后在窗体分别显示百位数,十位数,个位数 Private Sub command1_click() Dim t As Integer, x As Integer, y As Integer, z As Integer t = Val(text1.Text) x = t Mod 10 z = t \ 100 y = (t \ 10) Mod 10 Print End Sub 3.通过InputBox函数输入一个整数,判断该数是奇数还是偶数。 Private Sub Form_Click() Dim a As Integer a = Val(InputBox("请输入一个整数")) Select Case a Mod 2 Case 0 MsgBox "a是偶数" Case 1 MsgBox "a是奇数" End Select End Sub 4.编程找出1至100中7和3的公倍数,在窗体上打印出来 Private Sub Form_Load() Dim i As Integer For i = 1 To 100 If i Mod 3 And i Mod 7 = 0 Then Print i End If Next i End Sub 5.通过函数调用求s=1^2+2^2+……+n^2,n通过InputBox函数输入 Private Sub Form_Click() Dim n As Integer, i As Integer, sum As Integer n = Val(InputBox("请输入n的值")) For i = 1 To n sum = sum + fun1(i) Print sum End Sub Private Function funl(n) As Integer Dim s As Long s = n * n funl = s End Function
/
本文档为【VB程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索