-
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
< br>、从键盘输入任意长度的字符串,要求将字符顺序倒置
例如,将输入的
“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
之间所有能被
< br>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
整除,或者能被
4
00
整除)
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
个不同的数,比较它们的大小并进
行调整,使得
<
br>、求
x
。
Private Sub Command1_Click()
Dim x!, y!, z!
x
= InputBox(
y =
InputBox(
z =
InputBox(
Print
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
排序后
End Sub
6
s=a+aa+aaa+...aaaaa
(
n
个
a
),其中
p>
a
和
n
的值随机产
生,
a
的范围是
[1,9]
的整数,
n
的范围
如
p>
a=3,n=6,
则
s=3+33+333
+3333+33333+333333
。编程确定
n
和
a
的值,并计算
s<
/p>
。
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
For i = 1 To n
t = t * 10 + a
s = s + t
Print t;
Next
i
Print
Print
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
End Sub
8
、编程求
200--400
范围内
5
的倍数或
7<
/p>
的倍数之和。
(
一个数如果同时是
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 or i mod 7=0 then
s2=s2+i
End if
Next
i
S3=s1-s2
Print s3
End
sub
9
、找出被
< br>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
个评委对某个参赛者的打分数,
p>
按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平
均得分。
Private Sub
Command1_Click()
Dim mark!,
max!, min!, aver!, i%
aver =
0
For i = 1 To 7
mark = InputBox(
输入第
位评委的打分
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 = 99 + i
s1 = (s Mod 100) 10
s2 = s Mod 10
s3
= s 100
If s1 ^ 3 + s2 ^ 3
+ s3 ^ 3 = s Then
a = s +
a
End If
Next i
Print
a
End Sub
12
、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
例如,产生
246
< br>,输出是
642
。
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(
b =
Val(InputBox(
c =
Val(InputBox(
If a + b > c
And a + c > b And b + c > a Then
MsgBox
(
能构成三角形
Else
MsgBox
(
不能构成三角形
End If
End
Sub
14
、已知数组
a()
,编程删除
a
中第<
/p>
5
个元素。
数
组
a
中的元素分别为
{12
,
6
,
4
,
89
,
75
,
63
,
100
,
20
,
31}
。
Private Sub
Form_Click()
Dim a(), i%,
n%
a = Array(12, 6, 4, 89,
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)
Private Sub
Command1_Click()
For i = 0 To 4
For j = i To 4
Tab(j *
6); a(i, j);
Next
j
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
第一行
Print
第二行
Print
第三行
Print
第四行
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
最小值为
Print
其下标为
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(
Next i
For i =0
to 4
b(i)=len(trim(a(i)))
Next i
Max=1
For i =0 to
4
If max
Next
i
Print
Print
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(
请输入字符串
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
a(i);
Spc(1);
Next i
End Sub
Private Sub
Form_Load()
Text1 =
End Sub
< br>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
End Sub
p>
22
、定义三个
4×
4
的二维数组
A,B,C
,
A
和
B
中的元素均随机
生成,数组
A
的范围是
1
~
20
,
数组
B
的范围是
100
~
200
,数组
C<
/p>
是
A
和
B
相乘得到的。请编程生成并输出
A,B,C
。
(相加)
Private Sub
Command1_Click()
Dim a%(3, 3), b%(3, 3), c%(3,
3)
For i = 0 To 3
For j = 0 To 3
Tab(j * 6); a(i, j);
Next
j
Next i
End
Sub
Private Sub
Command2_Click()
For i = 0 To 3
For j = 0 To 3
b(i, j);
Next j
Next
i
End Sub
Private Sub Command3_Click()
For i = 0 To
3
For j = 0 To
3
Tab(j * 7); c(i,
j);
Next j
Next
i
End Sub
Private Sub Form_Load()
23
、随机产生
15
个
小写字母,放在字符数组中。提示:
c=chr(int(rnd*26+97))
p>
Private Sub
Command1_Click()
Dim c$$(14),
i%
For i = 0 To 14
c(i) = Chr(Int(Rnd * 26 +
97))
Next i
For i = 0 To 14
c(i);
Next i
End Sub
24
、随机产生
10
个
[30,1
00]
内的整数,求最大值及所对应的下标
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);
-
-
-
-
-
-
-
-
-
上一篇:直下式和侧入式LED电视哪个好
下一篇:app上线活动策划方案.doc