您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页VB编程程序代码

VB编程程序代码

来源:百家汽车网


VB编程程序代码

1、求100以内的素数。

Private Sub Form_Click()

Dim i%, j%

For i = 2 To 100

For j = 2 To i - 1

If i Mod j = 0 Then Exit For

Next j

If j = i Then Print I;

Next i

End Sub

2、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。

Private Sub Command1_Click()

Dim a$, I%, c$, d$, n%

a = InputBox$(\"输入字符串\")

n = Len(a)

For I = 1 To Int(n \\ 2)

c = Mid(a, I, 1)

Mid(a, I, 1) = Mid(a, n - I + 1, 1)

Mid(a, n - I + 1, 1) = c

Next I

Print a

End Sub

3、计算0~200之间所有能被11或5整除的数之和

Private Sub Form_Click()

Dim n%, i%

n = 0

For i = 1 To 200

If i Mod 11 = 0 Or i Mod 5 = 0 Then

n = n + i

End If

Next i

Print n

End Sub

4、输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)

Private Sub Command1_Click()

Dim y%

y = 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

5、已知x,y,z 3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得xPrivate Sub Command1_Click()

Dim x!, y!, z!

x = InputBox(\"inputx\")

y = InputBox(\"inputy\")

z = InputBox(\"inputz\")

Print \" x y z\"

If x > y Then t = x: x = y: y = t

If x > z Then t = x: x = z: z = t

If y > z Then t = y: y = z: z = t

Print \"排序后\"; x; \" \"; y; \" \"; z

End Sub

6、求s=a+aa+aaa+...aaaaa(n个a),其中a和n的值随机产生,a的范围是[1,9]的整数,n的范围是[5,10]。如a=3,n=6,则s=3+33+333+3333+33333+333333。编程确定n和a的值,并计算s。

Private Sub Form_Click()

Dim s!, t!, i!, a%, n%

a = Int(Rnd * 9 + 1)

n = Int(Rnd * 6 + 5)

t = 0: s = 0

Print \"a=\"; a, \"n=\"; n

For i = 1 To n

t = t * 10 + a

s = s + t

Print t;

Next i

Print

Print \"s=\"; s

End Sub

7、计算100~300之间所有能被3和7整除的数之和。

Private Sub Form_Click()

For i = 100 To 300

If i Mod 21 = 0 Then

s = s + i

Print i;

End If

Next i

Print

Print \"s=\"; s

End Sub

8、编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。)

Private Sub Command1_Click()

Dim s1%,s2%,s3%,i%

S1=0

S2=0

For i=200 to 400

If i mod 5 =0 or i mod 7=0 then

s1=s1+i

End if

Next i

For i=200 to 400

If i mod 5 =0 AND i mod 7=0 then

s2=s2+i

End if

Next i

S3=s1-s2

Print s3

End sub

9、找出被3、5、7除,余数为1的最小的5个正整数。

Private Sub Command1_Click()

Dim CountN%, n%

CountN = 0

n = 1

Do

n = n + 1

If n Mod 3 = 1 And n Mod 5 = 1 And n Mod 7 = 1 Then

Print n

CountN = CountN + 1

End If

Loop Until CountN = 5

End Sub

10、某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。

Private Sub Command1_Click()

Dim mark!, max!, min!, aver!, i%

aver = 0

For i = 1 To 7

mark = InputBox(\"输入第\" & i & \"位评委的打分\")

If i = 1 Then

max = mark: min = mark

Else

If mark < min Then min = mark

If mark > max Then max = mark

End If

aver = aver + mark

Next i

aver = (aver - min - max) / 5

Print aver

End Sub

11、编程显示100~500之间所有的水仙花数之和。(水仙花数是3位数,其各位数之和等于该数本身)

方法一

Private Sub Form_Click()

Dim i%, s%, s1%, s2%, s3%, a!

a = 0

For i = 0 To 400

s = 100 + i

s1 = (s Mod 100) \\ 10

s2 = s Mod 10

s3 = s \\ 100

If s1 ^ 3 + s2 ^ 3 + s3 ^ 3 = s Then

Print s

a = s + a

End If

Next i

Print a

End Sub

方法二

Private Sub Form_Click()

For a = 1 To 5

For b = 0 To 9

For c = 0 To 9

x = a * 100 + b * 10 + c

If a ^ 3 + b ^ 3 + c ^ 3 = x Then

Print x;

n = n + x

End If

Next c

Next b

Next a

Print n

End Sub

12、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是2。

Dim a%, m%, b%, c%, d%

Private Sub Form_Click()

a = Int(Rnd * 900 + 100)

Print a

d = (a Mod 10) * 100

b = (a Mod 100) - (a Mod 10)

c = a \\ 100

m = c + b + d

Print m

End Sub

13、从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形。

Private Sub Form_Click()

Dim a%, b%, c%

a = Val(InputBox(\"input a\"))

b = Val(InputBox(\"input b\"))

c = Val(InputBox(\"input c\"))

If a + b > c And a + c > b And b + c > a Then

MsgBox (\"能构成三角形\")

Else

MsgBox (\"不能构成三角形\")

End If

End Sub

14、已知数组a(),编程删除a中第5个元素。数组a中的元素分别为{12,6,4,,75,63,100,20,31}。

Private Sub Form_Click()

Dim a(), i%, n%

a = Array(12, 6, 4, , 75, 63, 100, 20, 31)

n = UBound(a)

For i = 0 To n

Print a(i);

Next i

Print

For i = 5 To n

a(i - 1) = a(i)

Next i

n = n - 1

ReDim Preserve a(n)

For i = 0 To n

Print a(i);

Next i

Print

End Sub

15、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。(下三角、全部元素)Dim a%(4, 4)

Dim a%(4, 4)

Private Sub Command1_Click()

Picture1.Cls

For i = 0 To 4

For j = i To 4

Picture1.Print Tab(j * 6); a(i, j);

Next j

Picture1.Print

Next i

End Sub

Private Sub Form_Load()

For i = 0 To 4

For j = 0 To 4

a(i, j) = Int(Rnd * 11 + 10)

Next j

Next i

End Sub

16、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。

Private Sub Form_Click()

Dim a%(3, 3), s0%, s1%, s2%, s3%, b0%, b1%, b2%, b3%

Max = 40

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 31 + 20)

Print Tab(j * 5); a(i, j);

If a(0, j) >= Max Then s0 = a(0, j): b0 = j

If a(1, j) >= Max Then s1 = a(1, j): b1 = j

If a(2, j) >= Max Then s2 = a(2, j): b2 = j

If a(3, j) >= Max Then s3 = a(3, j): b3 = j

Next j

Next i

Print

Print \" 第一行\"; s0; \"(\"; 0; b0; \")\"

Print \" 第二行\"; s1; \"(\"; 1; b1; \")\"

Print \" 第三行\"; s2; \"(\"; 2; b2; \")\"

Print \" 第四行\"; s3; \"(\"; 3; b3; \")\"

End Sub

17、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最大值及所对应的下标。

Private Sub Form_Click()

Dim a%(3, 3)

Min = 80

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 41 + 40)

Print Tab(j * 5); a(i, j);

If a(i, j) <= Min Then

Min = a(i, j): b = i: c = j

End If

Next j

Next i

Print

Print \"最小值为\"; Min

Print \"其下标为\"; \"(\"; b, c; \")\"

End Sub

18、输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序。

Private Sub Form_Click()

Dim a(5) as string,b(4) as integer,t%,max%,imax%

For i =1 to 5

a(i)=inputbox(\"a\")

Next i

For i =0 to 4

b(i)=len(trim(a(i)))

Next i

Max=1

For i =0 to 4

If maxNext i

Print \"max=\";a(i)

Print \"cixu=\

End sub

19、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和

Private Sub Form_Click()

Dim a%(3, 3)

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 31 + 20)

Print Tab(j * 5); a(i, j);

Next j

Next i

s = a(0, 0) + a(1, 1) + a(2, 2) + a(3, 3) + a(3, 0) + a(2, 1) + a(1, 2) + a(0, 3)

Print s;

End Sub

20、输入一系列字符串,将字符串按递减次序排列。请编程实现。

Dim a() As String, n%, i%, j%

Private Sub Command1_Click()

n = Text1

ReDim a(1 To n) As String

For i = LBound(a) To UBound(a)

a(i) = InputBox(\"请输入字符串\")

Picture1.Print a(i); Spc(1);

Next i

End Sub

Private Sub Command2_Click()

For i = 1 To n

For j = 1 To n - i

If a(j) < a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t

Next j

Next i

For i = 1 To n

Picture2.Print a(i); Spc(1);

Next i

End Sub

Private Sub Form_Load()

Text1 = \"\"

End Sub

21、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。

Dim a(1 To 10) As Integer, amin, amax, i%, avera!

Private Sub Form_Click()

For i = 1 To 10

a(i) = Int(Rnd * 71 + 30)

Next i

amin = a(1)

amax = a(1)

avera = a(1)

For i = 2 To 10

If a(i) > amax Then amax = a(i)

If a(i) < amin Then amin = a(i)

avera = avera + a(i)

Next i

For i = 1 To 10

Print a(i);

Next i

Print

Print \"max=\"; amax, \"min=\"; amin, \"avera=\"; avera / 10

End Sub

22、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相乘得到的。请编程生成并输出A,B,C。(相加)Dim a%(3, 3), b%(3, 3), c%(3, 3)

Private Sub Command1_Click()

Picture1.Cls

For i = 0 To 3

For j = 0 To 3

Picture1.Print Tab(j * 6); a(i, j);

Next j

Picture1.Print

Next i

End Sub

Private Sub Command2_Click()

Picture2.Cls

For i = 0 To 3

For j = 0 To 3

Picture2.Print b(i, j); \"\";

Next j

Picture2.Print

Next i

End Sub

Private Sub Command3_Click()

Picture3.Cls

For i = 0 To 3

For j = 0 To 3

Picture3.Print Tab(j * 7); c(i, j);

Next j

Picture3.Print

Next i

End Sub

Private Sub Form_Load()

23、随机产生15个小写字母,放在字符数组中。提示:c=chr(int(rnd*26+97))

Private Sub Command1_Click()

Dim c$(14), i%

Picture1.Cls

For i = 0 To 14

c(i) = Chr(Int(Rnd * 26 + 97))

Next i

For i = 0 To 14

Picture1.Print c(i);

Next i

End Sub

24、随机产生10个[30,100]内的整数,求最大值及所对应的下标

Private Sub Form_Click()

Dim a(1 To 10) As Integer, i%, maxa%, m%

For i = 1 To 10

a(i) = Int(Rnd * 70) + 30

Next i

maxa = a(1)

For i = 2 To 10

If a(i) > a(1) Then

maxa = a(i): m = i

End If

Next i

For i = 1 To 10

Print a(i);

Next i

Print \"maxa=\" & maxa; \"下标为\" & m

End Sub

25、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A范围是1~20,数组B的范围是100~200,数组C是A和B相加得到的。请编程生成并输出

A,B,C。

Private Sub Command1_Click()

Dim a(3, 3), b(3, 3), c(3, 3), t%, m%

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 20 + 1)

Picture1.Print a(i, j);

Next j

Next i

Picture1.Print

For i = 0 To 3

For j = 0 To 3

b(i, j) = Int(Rnd * 101 + 100)

Picture1.Print b(i, j);

Next j

Next i

Picture1.Print

For i = 0 To 3

For j = 0 To 3

c(i, j) = a(i, j) + b(i, j)

Next j

Next i

End Sub

26、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,求它的两条对角线上元素之和。

Private Sub Form_Click()

Dim a%(3, 3)

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 31 + 20)

Print Tab(j * 5); a(i, j);

Next j

Next i

s = a(1, 1) + a(2, 2) + a(3, 3) + a(0, 0) + a(0, 3) + a(1, 2) + a(2, 1) + a(3, 0)

Print

Print \"两对角线上元素之和为:\"; s

End Sub

27、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最小值及所对应的下标。

Private Sub Form_Click()

Dim a%(3, 3)

Min = 80

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 41 + 40)

Print Tab(j * 5); a(i, j);

If a(i, j) <= Min Then

Min = a(i, j): b = i: c = j

End If

Next j

Next i

Print

Print \"最小值为\"; Min

Print \"其下标为\"; \"(\"; b, c; \")\"

End Sub

28、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。(下三角、全部元素)Dim a%(4, 4)

Dim a%(4, 4)

Private Sub Command1_Click()

Picture1.Cls

For i = 0 To 4

For j = i To 4

Picture1.Print Tab(j * 6); a(i, j);

Next j

Picture1.Print

Next i

End Sub

Private Sub Form_Load()

For i = 0 To 4

For j = 0 To 4

a(i, j) = Int(Rnd * 11 + 10)

Next j

Next i

End Sub

29、有10个评委对歌手进行打分(分数存在A数组中)要求编程计算出歌手平均得分(按去掉一个最高分和一个最低分的计算方法计算。)a = Array(98, 97, 95, 91, 90, 99, 93, 94, 93, 96)

Private Sub Form_Click()

Dim a(), max%, min%, imax%, imin%, s!

a = Array(98, 97, 95, 91, 90, 99, 93, 94, 93, 96)

n = UBound(a)

For i = 0 To n

Print a(i);

Next i

Print

min = a(0): imin = 0

For i = 0 To n

If a(i) < min Then min = a(i): imin = i

Next i

Print \"min=\"; \"imin=\"; imin

For i = imin + 1 To n

a(i - 1) = a(i)

Next i

ReDim Preserve a(n - 1)

For i = 0 To n - 1

If a(i) > max Then max = a(i): imax = i

Next i

Print \"max=\"; \"imax=\"; imax

ReDim Preserve a(n - 2)

s = 0

For i = 0 To n - 2

s = s + a(i)

Print a(i);

Next i

Print

Print \"avr=\"; s / (n - 1)

End Sub

30、编程输出n行杨辉三角图形,n由键盘输入。

Private Sub Command1_Click()

n = Text1.Text

ReDim a(1 To n, 1 To n)

For i = 1 To n

For j = 1 To n

a(i, 1) = 1

If i = j Then a(i, j) = 1

Next j

Next i

For i = 2 To n

For j = 2 To n

a(i, j) = a(i - 1, j - 1) + a(i - 1, j)

Next j

Next i

For i = 1 To n

For j = 1 To i

Picture1.Print a(i, j); \" \";

Next j

Picture1.Print

Next i

End Sub

31、声明一个整型的二维数组a(1 to 4,1 to 4),用随机函数产生各元素,范围介于[1,20]之间,编程将第1行和第3行对应元素交换。

Dim a%(1 To 4, 1 To 4), t%

Private Sub Command1_Click()

Picture1.Cls

For i = 1 To 4

For j = 1 To 4

Picture1.Print Tab(j * 4); a(i, j);

Next j

Picture1.Print

Next i

End Sub

Private Sub Command2_Click()

For i = 1 To 4

For j = 1 To 4

t = a(1, j): a(1, j) = a(3, j): a(3, j) = t

Picture2.Print Tab(j * 4); a(i, j);

Next j

Picture2.Print

Next i

End Sub

Private Sub Form_Load()

For i = 1 To 4

For j = 1 To 4

a(i, j) = Int(Rnd * 20 + 1)

Next j

Next i

End Sub

32、随机产生15个小写字母,放在字符数组中。提示:c=chr(int(rnd*26+97))

Private Sub Command1_Click()

Dim c$(14), i%

Picture1.Cls

For i = 0 To 14

c(i) = Chr(Int(Rnd * 26 + 97))

Next i

For i = 0 To 14

Picture1.Print c(i);

Next i

End Sub

33、编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。调用该过程。(提示:只能被1和自身整除的自然数称为素数。)

Function sushu%(ByVal x%)

Dim m%, Tag As Boolean, i%

m = Val(x)

Tag = True

For i = 2 To m - 1

If (m Mod i) = 0 Then Tag = False

Next i

If Tag Then sushu = x

End Function

Private Sub Command1_Click()

Dim i%, k%

For i = 100 To 1000

If sushu(i) Then List1.AddItem i

Next i

Sum = 0

For k = 0 To List1.ListCount - 1

Sum = Sum + Val(List1.List(k))

Next k

Label1 = \"[100,1000]内所有素数和为:\" & Sum

End Sub

34、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。

Private Sub Form_Click()

Dim a(1 To 10) As Integer, i%, maxa%, mina%, suma%

For i = 1 To 10

a(i) = Int(Rnd * 71 + 30)

Next i

mina = a(1)

maxa = a(1)

suma = a(1)

For i = 2 To 10

If a(i) > maxa Then maxa = a(i)

If a(i) < mina Then mina = a(i)

suma = suma + a(i)

Next i

For i = 1 To 10

Print a(i);

Next i

Print

Print \"max=\"; maxa, \"min=\"; mina; \"aver=\"; suma / 10

End Sub

35、已知一维数组a()中的元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},编程将30插入数组a,并使a依然有序。

Private Sub Command1_Click()

Dim a(), i%, k%, x%, n

a = Array(12, 15, 21, 25, 27, 35, 36, 39, 48, 52)

n = UBound(a)

x = Val(Text1)

For k = 0 To n

If x < a(k) Then Exit For

Next k

ReDim Preserve a(n + 1)

For i = n To k Step -1

a(i + 1) = a(i)

Next i

a(k) = x

For i = 0 To n + 1

Print a(i);

Next i

End Sub

37、声明一个整型的二维数组a(1 to 4,1 to 4),用随机函数产生各元素,范围介于[1,20]之间,编程将第2行和第4行对应元素交换。

Private Sub Form_Click()

Dim a(0 To 3, 0 To 3), i%, j%, t

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 21 + 1)

Print Tab(j * 5); a(i, j)

Next j

Next i

Print

Print

For j = 0 To 3

t = a(1, j): a(1, j) = a(3, j): a(3, j) = t

Next j

For i = 0 To 3

For j = 0 To 3

Print Tab(j * 5); a(i, j)

Next j

Next i

End Sub

38、随机产生10个[30,100]内的整数,求最小值及所对应的下标。

Private Sub Form_Click()

Dim a(1 To 10) As Integer, i%, mina%, m%

For i = 1 To 10

a(i) = Int(Rnd * 70) + 30

Next i

mina = a(1)

For i = 2 To 10

If a(i) < a(1) Then

mina = a(i): m = i

ElseIf a(i) = a(1) Then

mina = a(i): m = i

End If

Next i

For i = 1 To 10

Print a(i);

Next i

Print \"mina=\" & mina; \"下标为\" & m

End Sub

39、编一个判断宿舍的通用过程(函数或子过程)。调用该过程,计算并输出区间(1000,,1100)内所有素数的和。

Function ss(n) As Integer

Dim i%, tag As Boolean

tag = True

For i = 3 To n / 2

If (n Mod i) = 0 Then tag = False

Next i

If tag Then ss = n

End Function

Private Sub Picture1_Click()

Dim i%, avera

avera = 0

For i = 1000 To 1100

If ss(i) <> 0 Then Print ss(i)

avera = avera + ss(i)

Next i

Picture1.Print avera

End Sub

40、编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。

Private Sub Form_Click()

Dim a(1 To 10), amin, i%

For i = 1 To 10

a(i) = Int(Rnd * 101)

Print a(i);

Next i

Call ProcMin(a(), amin)

Print

Print \"amin =\"; amin

End Sub

Sub ProcMin(b(), min)

Dim i%

min = b(LBound(b))

For i = LBound(b) + 1 To UBound(b)

If b(i) < min Then min = b(i)

Next i

End Sub

41、编一个冒泡排序法子过程,对已知的若干整数按递减次序排列。提示:子过程的形式为sub sort1(a%())。提示:子过程的形式为sub sort1(a%())。

Private Sub Command1_Click()

Dim b%(10), i%

Print \"排序前\"

For i = 0 To 9

b(i) = Int(Rnd * 100)

Print b(i);

Next i

Print

Print \"排序后\"

Call sort(b())

End Sub

Sub sort(a%())

Dim i%, m%, n%, min%, j%

n = UBound(a)

For i = 0 To n - 1

For j = 0 To n - 1 - i

If a(j) < a(j + 1) Then m = a(j): a(j) = a(j + 1): a(j + 1) = m

Next j

Next i

For i = LBound(a) To UBound(a) - 1

Print a(i);

Next i

End Sub

42、编一个选择排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为sub sort1(a%())。

Private Sub Command1_Click()

Dim b%(10), i%

Print \"排序前\"

For i = 1 To 10

b(i) = Int(Rnd * 100)

Print b(i);

Next i

Print

Print \"排序后\"

Call sort(b())

End Sub

Sub sort(a%())

Dim i%, m%, n%, min%, t%

n = UBound(a)

For i = 0 To n - 1

min = i

For j = i + 1 To n

If a(j) < a(min) Then min = j

Next j

m = a(i): a(i) = a(min): a(min) = m

Next i

For i = LBound(a) To UBound(a)

Print a(i);

Next i

End Sub

43、编一个冒泡排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为sub sort1(a%())。

Private Sub Command1_Click()

Dim b%(10), i%

Print \"排序前\"

For i = 0 To 9

b(i) = Int(Rnd * 100)

Print b(i);

Next i

Print

Print \"排序后\"

Call sort(b())

End Sub

Sub sort(a%())

Dim i%, m%, n%, min%, j%

n = UBound(a)

For i = 0 To n - 1

For j = 0 To n - 1 – i

If a(j) > a(j + 1) Then m = a(j): a(j) = a(j + 1): a(j + 1) = m

Next j

Next i

For i = LBound(a) + 1 To UBound(a)

Print a(i);

Next i

End Sub

1.输出“九九乘法表”(下三角形形式)。

Private Sub form_Click()

Dim i, j As Integer

For i = 1 To 9

For j = 1 To i

se = i & \"*\" & j & \"=\" & i * j

Print Tab((j - 1) * 9 + 1); se;

Next j

Next i

End Sub

2.计算级数1/1!+1/2!+1/3!......+1/n!。保留小数点后3位,要求四舍五入。

Private Sub form_Click()

Dim Sum, Fact As Double

Sum = 0

Fact = 1

n = Int(InputBox(\"输入n值\"))

For k = 1 To n

Fact = Fact * k

Sum = Sum + 1 / Fact

Next k

Print \"输出结果为:\"; Int(Sum * 1000 + 0.5) / 1000

End Sub

3.计算S=1+1/2+1/4+1/7+1/11+1/16+1/22+1/29当第i项的值<10-4时结束。

Private Sub form_Click()

Dim s!, t!, i&

s = 1

t = 1

i = 1

Do While 1 / t > 0.00001

t = t + i

s = s + 1 / t

i = i + 1

Loop

Print \"计算到第\"; i - 1; \"项\";

Print \"s求和结果为:\"; s

End Sub

4.随机产生30~100之间的10个正整数,求最大值、最小值、平均值,并显示数个数组的值和结果。

Private Sub form_Click()

Dim a(1 To 10) As Integer, i%, maxa%, mina%, avera!

For i = 1 To 10

a(i) = Int(Rnd * 100)

Next i

mina = a(1)

maxa = a(1)

avera = a(1)

For i = 2 To 10

If a(i) > maxa Then maxa = a(i)

If a(i) < mina Then mina = a(i)

avera = avera + a(i)

Next i

For i = 1 To 10

Print a(i);

Next i

Print \"最大值是:\";maxa; \"最小值是:\"; mina

Print \"平均值是:\"; avera / 10

End Sub

5.编写打印下列图形的程序。

Private Sub Form_Click()

For I = 1 To 5

Print Spc(5 – i);

For j = 1 To i

Print Spc(1); “*”;

Next j

Print

Next i

End Sub

6.累计求和的问题:求1+(1+2)+(1+2+3)+……+(1+2+3+……+10)的值。

Private Sub Form_Click()

Dim sum%, i%

For i = 1 To 10

t = 0

For j = 1 To i

t = t + j

Next j

sum = sum + t

Next i

Print sum

End Sub

7.编程求最大公约数和最小公倍数。

Private Sub Form_Click()

n1 = InputBox(\"输入n\")

m1 = InputBox(\"输入m\")

If m1 > n1 Then ' 使得 m>n

m = m1: n = n1

Else

m = n1: n = m1

End If

r = m Mod n

Do While r <> 0

m = n

n = r

r = m Mod n

Loop

Print m1; \的最大公约数为\"; n

Print \"最小公倍数= \

End Sub

8.素数(在窗体上打印出100以内的素数)

Private Sub form_Click()

Dim i%, m%, k%, count%

count = 0

For m = 2 To 100

k = Sqr(m)

For i = 2 To k

If (m Mod i) = 0 Then Exit For

Next i

If i >= k + 1 Then

Print m;

count = count + 1

If (count Mod 8) = 0 Then Print

End If

Next m

End Sub

10.输入一段英文文字,编程将所有英文单词的首字母变为大写。

Private Sub Form_Click()

Dim s As String

s = InputBox(\"请输入一个字符串:\")

a = Split(s, \" \")

s = \"\"

For i = 0 To UBound(a)

s1 = UCase(Left(a(i), 1))

s2 = Mid(a(i), 2)

s = s + s1 + s2 + \" \"

Next

Print s

End Sub

11.输入一段英文文字,编程统计出现次数最多的英文字母(不区分大小写)。

Private Sub Form _Click()

Dim a(65 To 90) As Integer

s = InputBox(\"请输入一个字符串:\")

For i = 1 To Len(s) ' 数组赋初值

c = Asc(UCase(Mid(s, i, 1)))

If c >= 65 And c <= 90 Then

a(c) = a(c) + 1

End If

Next

Max = 0

pos = 0

For j = 65 To 90 ' 比较

If a(j) > Max Then

Max = a(j)

pos = j

End If

Next j

Print \"出现次数最多的字母是\" + Chr(pos) + \" 出现次数为\" & Max

End Sub

12.输入一段英文文字,编程统计单词“and”出现的次数(不区分大小写)。

Private Sub Form_Click()

s = InputBox(\"请输入一个字符串:\")

a = Split(s, \" \")

c = 0

For i = 0 To UBound(a)

If LCase(a(i)) = \"and\" Then

c = c + 1

End If

Next

Print \"单词 and 在短文出现\" & c & \"次\"

End Sub

13.编程自动生成由10个随机二位正整数组成的序列并显示;然后使其按相反的顺序排列。

Private Sub Form_Click()

Dim a(10) As Integer

Print \"原始数据为:\"

For i = 1 To 10

a(i) = Int(Rnd * 90 + 10)

Print a(i);

Next

Print \"相反顺序为:\"

For j = 1 To 5

temp = a(j)

a(j) = a(10 - j + 1)

a(10 - j + 1) = temp

Next

For k = 1 To 10

Print a(k);

Next

End Sub

14.从键盘分别输入父亲和女儿的年龄,编程计算,经过多少年后父亲的年龄是女儿年龄的2倍。

Private Sub Form_Click()

father = Val(InputBox(\"请输入父亲的年龄:\"))

daughter = Val(InputBox(\"请输入女儿的年龄:\"))

n = 0

Do

father = father + 1

daughter = daughter + 1

n = n + 1

Loop Until father = daughter * 2

Print \"经过\" & n & \"年后,父亲的年龄是女儿年龄的2倍\"

End Sub

15.从键盘分别输入两个正整数,编程计算这两个数之间所有整数的累加和。

Private Sub Form_Click()

m = Val(InputBox(\"输入第1个整数:\"))

n = Val(InputBox(\"输入第2个整数:\"))

If m > n Then temp = m : m = n : n = temp

Sum = 0

For i = m To n

Sum = Sum + i

Next i

Print \"从\" & m & \"到\" & n; \"的累加和 = \" & Sum

End Sub

16.输入一个任意长度的正整数,编程计算正整数的各位之和。

Private Sub Form_Click()

s = InputBox(\"请输入一个字符串:\")

n = Len(s) : Sum = 0

For i = 1 To n

Sum = Sum + Val(Mid(s, i, 1))

Next

Print \"输入正整数的各位之和 = \" & Sum

End Sub

17.已知一个正整数与3的和是5的倍数,与3的差是6的倍数,编程计算满足条件的最小正整数。

Private Sub Form_Click()

k = 0

Do Until (k + 3) Mod 5 = 0 And (k - 3) Mod 6 = 0

k = k + 1

Loop

Print k

End Sub

18.编写华氏温度F与摄氏温度C之间转换的应用程序。F与C之间的关系为:。

19.已知abc+cba=1333,其中a、b、c均为一位数,编程求出所有满足条件的a、b、c所有组合。

Private Sub Form_Click()

For a = 0 To 9

For b = 0 To 9

For c = 0 To 9

If (a * 100 + b * 10 + c) + (c * 100 +

b * 10 + a) = 1333 Then Print a; b; c

Next

Next

Next

End Sub

20.编写程序,统计用户输入的字符串中英文单词的个数(英文单词由空格、逗号、感叹号进行分隔)。

Private Sub Form_Click()

Dim s As String, n As Integer

s = InputBox(\"请输入一个字符串:\")

n = 0

For i = 1 To Len(Trim(s))

c = Mid(s, i, 1)

If c = \" \" or c = \

Next

Print \"字符串中包含的单词个数:\"; n + 1

End Sub

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务