admin 管理员组

文章数量: 887021


2023年12月22日发(作者:电影源代码2国语版)

1. 打印负数并分别计算正负数只和:

有如下10个数:

-2,73,82,-76,-1,24,321,-25,89,-20(也可以定位其他数值)

打印出其中的每个负数,分别计算并输出正数和负数的和。

程序如下:

Sub Form_Click()

Dim number AS Integer

NegativeSum=0:PostiveSum=0

For i=1 To 10

number=InputBox("Enter data: ")

If number<0 Then

Print number;

NegativeSum=NegativeSum+number

Else

PostiveSum=PostiveSum+number

End If

Next i

print

print "NegativeSum=";NegativeSum

Print "PostiveSum=";PostiveSum

End Sub

2. 打印九九表:

在窗体上打印九九表:

程序如下:

Print Sub Form_Click()

FontSize=12

Print Tab(30);"9*9 Table"

Print:Print '输出两个空行

Print "* ";

For i=1 To 9

Print Tab(i*6);i; '打印横行序号

Next i

For j=1 To 9

Print j;" "; '打印竖行序号

For k=1 To j

temp=j*k

Print Tab(k*6);temp;" "; '打印乘积

Next k

Print '输出一个空行

Next j

End Sub

3. 打印人员名册

打印人员名册:

Private Sub Form_Click()

Print:Print

FontName="魏碑"

FontSize=16

Print "姓名";Tab(8);"年龄";Tab(16);"职务";Tab(24);"单位";Tab(32);"籍贯"

Print

Print "张得功";Tab(8);"25";Tab(16);"科长";Tab(24);"劳动科";Tab(32);"北京"

Print "李德生";Tab(8);"32";Tab(16);"处长";Tab(24);"科研处";Tab(32);"上海"

End Sub

4. 单选按钮设置字体类型和大小

单选按钮设置字体类型和大小:

在窗体上画出两个框架,每个框架内分别画两个单选按钮,然后画两个命令按钮和一个文本框。

编写时间过程如下:

Ptivate Sub Form_Load()

n="框架用法示例"

n="确定"

n="结束"

n="字体类型"

n="字体大小"

n="魏碑"

n="幼圆"

n="16"

n="24"

="Visual Basic 程序设计"

End Sub

Private Sub _()

If Optoion1 Then

me="魏碑"

Else

me="幼圆"

End IF

If Option3 Then

ze=16

Else

ze=24

End If

End Sub

Private Sub _()

End

End Sub

5. 计算存款利息

计算存款利息:

本金p为10000,年利率为0.125,每年计息一次,求10年的本利和是多少。

Sub Form_Click()

Dim p As Currency

p=10000:r=0.125

t=1

Again

If t>10 Then GoTo 100

i=p*r

p=p+i

t=t+1

GoTo Again

100

Print p

End Sub

说明:这里的“Again:”是标号,“100”是行号。

6. 交换两个列表框的项目

交换两个列表框的项目。其中一个列表框的项目按字母升序排列,另一个列表框的项目按项目加入的先后顺序排列。当双击某个项目时,该项目从列表框中消失,并出现在在另一个列表框中:

Private Sub Form_Load()

ze=14

ze=14

m "IBM"

m "Compad"

m "HP"

m "FUJI"

m "Digital"

m "长城"

m "联想"

m "Canon"

m "四通"

m "Acer"

m "Nec"

m "NCR"

End Sub

Private Sub List1_DbClick()

m

Item dex

End Sub

Private Sub List2_DbClick()

m

Item dex

End Sub

7. 交换图片

交换两个图片框中的图形:

在窗体上建立三个图片框Picture1、Picture2、Picture3,其中两个在上,一个在下。

Private Sub Form_Click()

'交换位图

e=e

e=e

e=e

'把第三个图片框设置为空

e=LoadPicture()

End Sub

Private Sub Form_Load

'装入位图

e=LoadPicture _

("C:Documents and SettingsAll UsersDocumentsMy ") '可自行改变路径

e=LoadPicture _

("C:Documents and SettingsAll UsersDocumentsMy ") '可自行改变路径

End Sub

8. 冒泡排序

从键盘上输入10个整数,用冒泡法排序(Bubble Sort)法对这十个数从小到大排序:

在窗体上建立一个命令按钮,并把Caption属性设置为“Click Here to Start”

编写程序如下:

Sub Command1_Click()

Static number(1 To 10) AS Integer '定义数组number为整形

Msg$="Enter Number for Sort:"

MsgStile$="Sort Demo"

For i%=1 To 10

number(i%)=InputBox(Msg$,MsgTile$)

Next i%

For i%=10 To 2 Step -1

For j%=1 To i%-1

If number(j%)=number(j%+1) Then

t=number(j%+1)

number(j%+1)=number(j%)

number(j%)=t

End If

Next j%

Next i%

For i%=1 To 10

Print number(i%)

Next i%

End Sub

9. 判断0~9数据类型--奇数或偶数

判断字母大小写及0~9数据类型--奇数或偶数:

Sub Form_Click()

Dim Msg,UserInput

Msg="Please enter a letter or number from 0 though 9."

UserInput=InputBox(Msg)

If Len(UserInput)<>0 Then

Select Case Asc(UserInput) '返回ASCII码

Case 65 To 90 '大写字母

Msg="You entered the uppercase letter"

Msg=Msg&Chr(Asc(UserInput))&"!"

Case 97 To 122 '小写字母

Msg="You entered the lowercase letter"

Msg=Msg&Chr(Asc(UserInput))&"!"

Case Else

Msg="You did not enter a letter or a number."

End Select

Else

Select Case CDbl(UserInput) '转换为双精度数值

Case 1,3,5,7,9

Msg=UserInput&"is an odd number" '奇数

Case 0,2,4,6,8

Msg=UserInput&"is an odd number" '偶数

Case Else '出界

Msg="You entered a number ouside"

Msg=Msg&"the requested range"

End Select

End If

MsgBox Msg

End Sub

10. 判断100~200的所有偶数可以分解为两个素数之和

判断100~200的所有偶数可以分解为两个素数之和。

Function nf(n As Integer) As Boolean '判断n是否为素数

Dim s As Boolean

Dim I As Integer

s = False

For I = 2 To Int(Sqr(n)) '如果能被2 ~Int(Sqr(n))中任何一个数整除,则不是素数,跳出For循环

If n Mod I = 0 Then

Exit For

End If

Next I

If I > Int(Sqr(n)) Then '如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件

s = True '当I是素数时s=true

End If

nf = s '当I是素数时, nf=true,否则 nf=false

End Function

Private Sub form_click()

Dim t As Boolean

Dim q As Boolean

Dim I As Integer

Dim j As Integer

Dim a As Integer

For I = 100 To 200 Step 2

For j = 2 To I / 2 'I一定可分解为一个大于它一半的数和小于它一半的数

t = nf(j) '调用Funtion(函数)nf,判断i是否是素数,把nf的值(true或flase)赋值给变量t

If t = True Then '如果t是true 就往下执行,否则就执行到 End if(2)后面的next j语句

q = nf(I - j) '调用Funtion(函数)nf,判断i-j是否是素数,把nf的值(true或flase)赋值给变量q

If q = True Then '如果q是true(说明i-j是素数) 就往下执行,否则就跳到 End if(1),继续执行j循环

Print j, I - j '当q是true和t是True同时满足时,说明I的确能分解为两个素数,就打出 j 和 I-j

的值

Exit For '跳出j循环,判断下一个偶数

End If '(1)

End If '(2)

Next j

Next I

End Sub

11. 判断是否为素数

判断一个整数(>=3)是否为素数:

提示:如果一个(>=3的)整数可以将n被2到√n(n的平方根)之间的所有整数除,如果都除不尽,则n为素数()质数,否则n为非素数(合数)。

编写程序如下:

Sub Form_Click()

Dim n As Integer

n=InputBox("请输入一个正整数(>=3):")

k=Int(Spr(n)) '取不大于n的平方根的最大整数

i=2

Swit=0

While i<=k And Swit=0

If n Mod i=0 Then

Swit=1

Else

i=i+1

End If

Wend

If Swit=0 Then

Print n;"是一个素数"

Else

Print n;"不是素数"

End If

End Sub

说明:这里的Swit是一个标志变量。Swit=0标志着n未被任何一个正整数整除过;如果被整除过,则Swit=1。

上述程序也可以写成:

用For„„.Next语句:

Sub Form_Click()

Dim I as Integer,N As Integer

N=val(InputBox(""))

For I=2 to int(Sqr(N))

If N Mod I=0 Then Exit For

Next I

If I >int(Sqr(N)) Then

Print N & "是素数"

Else

Print N & "不是素数"

End If

End Sub

用While„.Wend循环:

Sub Form_Click()

Dim I As Integer, N As Integer

N = Val(InputBox(""))

I = 2

c = Int(Sqr(N))

Do While I <= c

If N Mod I = 0 Then Exit Do

I = I + 1 '在For以外的

Loop

If I > c Then

Print N & "是素数"

Else

Print N & "不是素数"

End If

End Sub

法2:

一个数n是素数的条件:不能被2 ~ n-1整除

用For„„.Next语句

Sub Form_Click()

Dim I as Integer,N As Integer

N=val(InputBox(""))

For I=2 to N-1

If N Mod I=0 Then Exit For '如果能被2 ~ N-1中任何一个数整除,则不是素数,跳出For循环

Next I

If I >= N Then'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件

Print N & "是素数"

Else

Print N & "不是素数"

End If

End Sub

12. 切换信号灯

模拟交通信号灯的切换:

在窗体上画出3个图像框和两个命令按钮Command1(切换信号)和Command2(结束程序)。三个图像框分别装有红、绿、蓝三的信号标志的图片。

编写如下事件过程:

Private Sub Form_Load()

e=Flase

e=Flase

End Sub

Private Sub Command1_Click()

If e=True Then

e=False

e=Ture

ElseIf e=Ture Then

e=False

e=True

Else

e=False

e=True

End If

End Sub

Private Sub Commdan2_Click()

End

End Sub

13. 求N!

求N的阶乘N!(N为自然数):

程序如下:

Sub Form_Click()

Dim N As Integer

N=InputBox("enter N:")

k=1

For i=1 To N

k=k*i

Next i

Print N;"N!=";k

End Sub

该程序也可以写成:

Sub Form_Click()

Dim N As Integer

N=InputBox("enter N:")

k=1:m=1

For i=1 To N

k=k*i:m=m+1

Next i

Print N;"N!=";k

End Sub

程序也可以这样写:

Private Sub command1_Click()

Dim I As Integer, f As Double, n As Integer

n = InputBox("输入一个自然数:", "输入提示", "")

f = 1

For I = 1 To n Step 1

f = f * I Next I = f

End Sub

Private Sub Command2_Click()

End

End Sub

14. 人口达到或超过70亿所需年数

假设目前世界人口约为60亿,如果以每年1.4%的速度增长,多少年后世界人口达到60亿或超过60亿?

程序如下:

Sub Form_Click()

Dim p AS Double

Dim r AS Single

Dim n AS Integer

P=6000000000#

r=0.014

n=0

Do Until p>=7000000000#

p=p*(1+r)

n=n+1

Loop

Print n;"年后世界人口达到";p

End Sub

上述所用是“Do Until„„Loop”循环结构。

该程序若改用“Do„„Loop Until”循环,则程序为:

Sub Form_Click()

Dim p AS Double

Dim r AS Single

Dim n AS Integer

P=6000000000#

r=0.014

n=0

Do

p=p*(1+r)

n=n+1

Loop Until p>=7000000000#

Print n;"年后世界人口达到";p

End Sub

15. 输出100~300之间的所有素数

输出100~300间的所有素数:

程序如下:

Sub Form_Click()

For n=101 To 300 step 2

k=Int(Spr(n)) '取不大于n的平方根的最大整数

i=2

Swit=0

While i<=k And Swit=0

If n Mod i=0 Then

Swit=1

Else

i=i+1

End If

Wend

If Swit=0 Then

d=d+1

If d Mod 5=0 Then '输出5个数字后换行

Print n;" ";

Print

Else

Print n;" "

End If

End If

Next n

End Sub

16. 水仙花数

Visual Basic 的"水仙花数"实现代码:

说明:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)

三位的水仙花数共有4个:153,370,371,407;

四位的水仙花数共有3个:1634,8208,9474;

五位的水仙花数共有3个:54748,92727,93084;

六位的水仙花数只有1个:548834;

七位的水仙花数共有4个:1741725,4210818,9800817,9926315;

八位的水仙花数共有3个:24678050,24678051,88593477

„„

„„

编写如下事件过程:

Private Sub Form_Click()

Dim a, b, c As Integer 'a(个)b(十)c(百)

For a = 0 To 9

For b = 0 To 9

For c = 1 To 9

If a ^ 3 + b ^ 3 + c ^ 3 = a + 10 * b + 100 * c Then

MsgBox 100 * c + 10 * b + a '或写成 Print 100 * c + 10 * b + a

End If

Next c

Next b

Next a

End Sub

17. 添加成员列表(枚举类型)的方法

添加成员列表(枚举类型)可以用Enum语句:

如:

Public Enum Workdays

Saturday

Sunday

Monday

Tuesday

Wednesday

Thursday

Friday

End Enum

在默认情况下,枚举中的第一个常数被初始化为0,其后的常数则初始化为比起前面的常数大1的数值。

上述的枚举中常数Sunday的值为0。

Public Enum Workdays

Saturday

Sunday=0

Monday

Tuesday

Wednesday

Thursday

Friday

Invalid=-1

End Enum

该程序的第一个元素Sunday被赋值为0,Saturday为第一个元素,也被赋值为0,Tuesday的值为2。

18. 显示不同形状

在窗体上显示6中不同是形状:

Private Sub Form_Click()

FontSize=12

CurrentX=350

Print "0";

For i=1 To 5

Shape1(i).Left=Shape1(i-1).Left+1050

Shape1(i).Shape=1

Shape1(i).Visible=True

CurrentX=CrrentX+750

Print i;

Next i

End Sub

19. 写入与清屏

在窗体上画一个文本框,Caption属性为空;再画三个命令按钮,Caption属性分别为“单击此按钮输入”、“清屏”和“结束” 。

双击Command1进入代码窗口,输入以下程序代码:

Private Sub Command1_Click()

ze=20

="欢迎进入VB世界"

End Sub

Private Sub Command2_Click()

=""

End Sub

Private Sub Command13_Click()

End

End Sub

20. 选择机型并显示

从窗体上选择机型,并在立即窗口中显示结果:

在窗体上建立四个标签,Caption属性分别为:“机型”、“CPU主频”、“内存”和“硬盘”;建立四个组合框,Style属性分别为:1、2、2和0;建立两个命令按钮,Caption属性分别为:“确定”和“取消” ,Default属性都是True。

编写如下事件过程:

Sub Form_Load()

m "IBM"

m "Compad"

m "方正"

m "联想"

m "HP"

m "Acer"

m "DEC"

m "奔腾3 900"

m "奔腾3 933"

m "奔腾3 1.0G"

m "奔腾4 1.2G"

m "奔腾4 1.5G"、

m "奔腾4 1.7G"

m "奔腾4 2.0G"

m "64MB"

m "128MB"

m "256MB"

m "10GB"

m "20GB"

m "32GB"

m "32GB"

m "40GB"

m "60GB"

End Sub

Sub Command1_Click()

"你所选的机型为:"

"机型:";Combo1

"CPU: ";Combo2

"内存";Combo3

"硬盘";Combo4

End Sub

Sub Command2_Click()

End

End Sub

21. 用单选按钮改变字体和字号

用单选按钮改变文本框里的字体和字号:

在窗体上建立一个文本框和三个单选按钮。单选按钮的Caption属性分别为“FontName:Roman”、“FontName:Modern”和“FontName:Courier”;Name属性分别为“Roman”、“Modern”和“Courier”;

文本框的Name属性为“Display”。

编写如下事件过程:

Private Sub Courier_Click()

ze=18

me="Couier"

End Sub

Private Sub Modern_Click()

ze=20

me="Modern"

End Sub

Private Sub Form_Roman()

ze=24

me="Times New Roman"

End Sub

22. 用复选框给文字加下划线和删除线

用复选框控制文本输入是否“加下划线”和“斜体显示”:

建立三个控件:一个文本框和两个复选框,复选框的Caption属性分别为“加下划线”和“斜体显示”。编写如下事件过程:

'双击窗体

Private Sub Form_Load()

ze=20

End Sub

'双击文本框

Private Sub Display_Change() '把文本框的Name属性改为Display且字号为20

If =1 Then

derline=True

ElseIF =True Then

alic=True

End If

End Sub

'双击“斜体显示”复选框

Private Sub ItalicOn_Click() '把复选框的Name属性改为ItalicOn

If =1 Then

alic=True

Else

alic=False

End If

End Sub

'双击“加下划线”复选框

Private Sub UnderOn_Click() '把复选框的Name属性改为UnderOn

If =1 Then

derline=True

Else

derline=False

End If

End Sub

23. 在标签上显示时间

在标签Label上显示系统当前时间:

在窗体上画出一个标签和一个计时器

Private Sub Timer1_Timer()

me="黑体"

ze=36

n=Time$

End Sub

24. 找出100至500之间满足该数等于两个素数之积的所有整数

找出100至500之间满足该数等于两个素数之积的所有整数,显示在列表框:

Private Sub Command1_Click()

Dim a(500) As long , i As long , j As long , flag As long

Dim b() As long , c() As long

n = 0

For i = 2 To 500

flag = 0

For j = 2 To i - 1

If i Mod j = 0 Then

flag = 1

End If

Next j

If flag = 0 Then

n = n + 1

ReDim Preserve b(n)

b(n) = i

End If

Next i

For i = 1 To n

For j = 1 To n

If b(i) * b(j) > 100 And b(i) * b(j) < 500 Then

m b(i) * b(j) & "=" & b(i) & "*" & b(j)

End If

Next j

Next i

End Sub

25. 找出程序满足5M+7N=128的两个素数M和N

用VB找出程序满足5M+7N=128的两个素数M和N:

Private Sub Command1_Click()

Dim m As Integer, n As Integer

For m = 1 To 25

For n = 1 To 18

If 5 * m + 7 * n = 128 And s(m) And s(n) Then

= "m=" & m & "n=" & n

End If

Next n

Next m

End Sub

Private Sub Command2_Click()

= ""

us

End Sub

Private Function s(x) As Boolean

Dim i As Integer

For i = 2 To Sqr(x)

If x Mod i = o Then

s = False

Else: s = True

End If

Next i

End Function

Private Sub Command3_Click()

End

End Sub


本文标签: 素数 按钮 输入 项目