vb程序

更新时间:2023-03-14 01:07:08 阅读: 评论:0

文山特产-西岭雪山攻略

vb程序
2023年3月14日发(作者:京式月饼)

VB常用必背程序

1/281/28

1、求100以内的素数。

PrivateSubForm_Click()

Dimi%,j%

Fori=2To100

Forj=2Toi-1

IfiModj=0ThenExitFor

Nextj

Ifj=iThenPrinti

Nexti

EndSub

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

换成“GFEDCBA”。

PrivateSubCommand1_Click()

Dima$,I%,c$,d$,n%

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

n=Len(a)

ForI=1ToInt(n2)

c=Mid(a,I,1)

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

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

NextI

Printa

EndSub

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

PrivateSubForm_Click()

Dimn%,i%

n=0

Fori=1To200

VB常用必背程序

2/282/28

IfiMod11=0OriMod5=0Then

n=n+i

EndIf

Nexti

Printn

EndSub

4、输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4

整除但不能被100整除,或者能被400整除)

PrivateSubCommand1_Click()

Dimy%

y=InputBox("请输入年数")

IfyMod4=0AndyMod100<>0OryMod400=0Then

MsgBox(y&"年是闰年")

El

MsgBox(y&"年是平年")

EndIf

EndSub

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

PrivateSubCommand1_Click()

Dimx!,y!,z!

x=InputBox("inputx")

y=InputBox("inputy")

z=InputBox("inputz")

Print"xyz"

Ifx>yThent=x:x=y:y=t

Ifx>zThent=x:x=z:z=t

Ify>zThent=y:y=z:z=t

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

VB常用必背程序

3/283/28

EndSub

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。

PrivateSubForm_Click()

Dims!,t!,i!,a%,n%

a=Int(Rnd*9+1)

n=Int(Rnd*6+5)

t=0:s=0

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

Fori=1Ton

t=t*10+a

s=s+t

Printt;

Nexti

Print

Print"s=";s

EndSub

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

PrivateSubForm_Click()

Fori=100To300

IfiMod21=0Then

s=s+i

Printi;

EndIf

Nexti

Print

Print"s=";s

VB常用必背程序

4/284/28

EndSub

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

只能加一次。)

PrivateSubCommand1_Click()

Dims1%,s2%,s3%,i%

S1=0

S2=0

Fori=200to400

Ifimod5=0orimod7=0then

s1=s1+i

Endif

Nexti

Fori=200to400

Ifimod5=0orimod7=0then

s2=s2+i

Endif

Nexti

S3=s1-s2

Prints3

Endsub

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

PrivateSubCommand1_Click()

DimCountN%,n%

CountN=0

n=1

Do

n=n+1

IfnMod3=1AndnMod5=1AndnMod7=1Then

VB常用必背程序

5/285/28

Printn

CountN=CountN+1

EndIf

LoopUntilCountN=5

EndSub

10、某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照

去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。

PrivateSubCommand1_Click()

Dimmark!,max!,min!,aver!,i%

aver=0

Fori=1To7

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

Ifi=1Then

max=mark:min=mark

El

Ifmark

Ifmark>maxThenmax=mark

EndIf

aver=aver+mark

Nexti

aver=(aver-min-max)/5

Printaver

EndSub

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

该数本身)

PrivateSubForm_Click()

Dimi%,s%,s1%,s2%,s3%,a!

a=0

VB常用必背程序

6/286/28

Fori=0To400

s=99+i

s1=(sMod100)10

s2=sMod10

s3=s100

Ifs1^3+s2^3+s3^3=sThen

a=s+a

EndIf

Nexti

Printa

EndSub

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

246,输出是642。

Dima%,m%,b%,c%,d%

PrivateSubForm_Click()

a=Int(Rnd*900+100)

Printa

d=(aMod10)*100

b=(aMod100)-(aMod10)

c=a100

m=c+b+d

Printm

EndSub

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

PrivateSubForm_Click()

Dima%,b%,c%

a=Val(InputBox("inputa"))

b=Val(InputBox("inputb"))

VB常用必背程序

7/287/28

c=Val(InputBox("inputc"))

Ifa+b>cAnda+c>bAndb+c>aThen

MsgBox("能构成三角形")

El

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

EndIf

EndSub

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

63,100,20,31}。

PrivateSubForm_Click()

Dima(),i%,n%

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

n=UBound(a)

Fori=0Ton

Printa(i);

Nexti

Print

Fori=5Ton

a(i-1)=a(i)

Nexti

n=n-1

ReDimPrervea(n)

Fori=0Ton

Printa(i);

Nexti

Print

EndSub

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

VB常用必背程序

8/288/28

角、全部元素)Dima%(4,4)

Dima%(4,4)

PrivateSubCommand1_Click()

Fori=0To4

Forj=iTo4

ab(j*6);a(i,j);

Nextj

Nexti

EndSub

PrivateSubForm_Load()

Fori=0To4

Forj=0To4

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

Nextj

Nexti

EndSub

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

最大值和下标。

PrivateSubForm_Click()

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

Max=40

Fori=0To3

Forj=0To3

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

PrintTab(j*5);a(i,j);

Ifa(0,j)>=MaxThens0=a(0,j):b0=j

VB常用必背程序

9/289/28

Ifa(1,j)>=MaxThens1=a(1,j):b1=j

Ifa(2,j)>=MaxThens2=a(2,j):b2=j

Ifa(3,j)>=MaxThens3=a(3,j):b3=j

Nextj

Nexti

Print

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

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

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

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

EndSub

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

值及所对应的下标。

PrivateSubForm_Click()

Dima%(3,3)

Min=80

Fori=0To3

Forj=0To3

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

PrintTab(j*5);a(i,j);

Ifa(i,j)<=MinThen

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

EndIf

Nextj

Nexti

Print

Print"最小值为";Min

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

VB常用必背程序

10/2810/28

EndSub

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

PrivateSubForm_Click()

Dima(5)asstring,b(4)asinteger,t%,max%,imax%

Fori=1to5

a(i)=inputbox("a")

Nexti

Fori=0to4

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

Nexti

Max=1

Fori=0to4

Ifmax

Nexti

Print"max=";a(i)

Print"cixu=",imax+1

Endsub

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

有数据之和

PrivateSubForm_Click()

Dima%(3,3)

Fori=0To3

Forj=0To3

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

PrintTab(j*5);a(i,j);

Nextj

Nexti

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)

VB常用必背程序

11/2811/28

Prints;

EndSub

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

Dima()AsString,n%,i%,j%

PrivateSubCommand1_Click()

n=Text1

ReDima(1Ton)AsString

Fori=LBound(a)ToUBound(a)

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

(i);Spc(1);

Nexti

EndSub

PrivateSubCommand2_Click()

Fori=1Ton

Forj=1Ton-i

Ifa(j)

Nextj

Nexti

Fori=1Ton

(i);Spc(1);

Nexti

EndSub

PrivateSubForm_Load()

Text1=""

EndSub

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

Dima(1To10)AsInteger,amin,amax,i%,avera!

VB常用必背程序

12/2812/28

PrivateSubForm_Click()

Fori=1To10

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

Nexti

amin=a(1)

amax=a(1)

avera=a(1)

Fori=2To10

Ifa(i)>amaxThenamax=a(i)

Ifa(i)

avera=avera+a(i)

Nexti

Fori=1To10

Printa(i);

Nexti

Print

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

EndSub

22、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~

20,数组B的范围是100~200,数组C是A和B相乘得到的。请编程生成并输出A,B,C。

(相加)Dima%(3,3),b%(3,3),c%(3,3)

PrivateSubCommand1_Click()

Fori=0To3

Forj=0To3

ab(j*6);a(i,j);

Nextj

VB常用必背程序

13/2813/28

Nexti

EndSub

PrivateSubCommand2_Click()

Fori=0To3

Forj=0To3

(i,j);"";

Nextj

Nexti

EndSub

PrivateSubCommand3_Click()

Fori=0To3

Forj=0To3

ab(j*7);c(i,j);

Nextj

Nexti

EndSub

PrivateSubForm_Load()

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

PrivateSubCommand1_Click()

Dimc$(14),i%

Fori=0To14

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

VB常用必背程序

14/2814/28

Nexti

Fori=0To14

(i);

Nexti

EndSub

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

PrivateSubForm_Click()

Dima(1To10)AsInteger,i%,maxa%,m%

Fori=1To10

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

Nexti

maxa=a(1)

Fori=2To10

Ifa(i)>a(1)Then

maxa=a(i):m=i

EndIf

Nexti

Fori=1To10

Printa(i);

Nexti

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

EndSub

25、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A范围是1~20,

数组B的范围是100~200,数组C是A和B相加得到的。请编程生成并输出A,B,C。

PrivateSubCommand1_Click()

Dima(3,3),b(3,3),c(3,3),t%,m%

Fori=0To3

Forj=0To3

VB常用必背程序

15/2815/28

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

(i,j);

Nextj

Nexti

Fori=0To3

Forj=0To3

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

(i,j);

Nextj

Nexti

Fori=0To3

Forj=0To3

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

Nextj

Nexti

EndSub

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

角线上元素之和。

PrivateSubForm_Click()

Dima%(3,3)

Fori=0To3

Forj=0To3

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

PrintTab(j*5);a(i,j);

Nextj

Nexti

VB常用必背程序

16/2816/28

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

EndSub

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

及所对应的下标。

PrivateSubForm_Click()

Dima%(3,3)

Min=80

Fori=0To3

Forj=0To3

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

PrintTab(j*5);a(i,j);

Ifa(i,j)<=MinThen

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

EndIf

Nextj

Nexti

Print

Print"最小值为";Min

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

EndSub

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

角、全部元素)Dima%(4,4)

Dima%(4,4)

PrivateSubCommand1_Click()

Fori=0To4

VB常用必背程序

17/2817/28

Forj=iTo4

ab(j*6);a(i,j);

Nextj

Nexti

EndSub

PrivateSubForm_Load()

Fori=0To4

Forj=0To4

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

Nextj

Nexti

EndSub

29、有10个评委对歌手进行打分(分数存在A数组中)要求编程计算出歌手平均得分(按

去掉一个最高分和一个最低分的计算方法计算。)a=Array(98,97,95,91,90,99,93,94,93,

96)

PrivateSubForm_Click()

Dima(),max%,min%,imax%,imin%,s!

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

n=UBound(a)

Fori=0Ton

Printa(i);

Nexti

Print

min=a(0):imin=0

Fori=0Ton

Ifa(i)

Nexti

VB常用必背程序

18/2818/28

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

Fori=imin+1Ton

a(i-1)=a(i)

Nexti

ReDimPrervea(n-1)

Fori=0Ton-1

Ifa(i)>maxThenmax=a(i):imax=i

Nexti

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

ReDimPrervea(n-2)

s=0

Fori=0Ton-2

s=s+a(i)

Printa(i);

Nexti

Print

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

EndSub

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

PrivateSubCommand1_Click()

n=

ReDima(1Ton,1Ton)

Fori=1Ton

Forj=1Ton

a(i,1)=1

Ifi=jThena(i,j)=1

Nextj

VB常用必背程序

19/2819/28

Nexti

Fori=2Ton

Forj=2Ton

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

Nextj

Nexti

Fori=1Ton

Forj=1Toi

(i,j);"";

Nextj

Nexti

EndSub

31、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,

编程将第1行和第3行对应元素交换。

Dima%(1To4,1To4),t%

PrivateSubCommand1_Click()

Fori=1To4

Forj=1To4

ab(j*4);a(i,j);

Nextj

Nexti

EndSub

PrivateSubCommand2_Click()

Fori=1To4

Forj=1To4

VB常用必背程序

20/2820/28

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

ab(j*4);a(i,j);

Nextj

Nexti

EndSub

PrivateSubForm_Load()

Fori=1To4

Forj=1To4

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

Nextj

Nexti

EndSub

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

PrivateSubCommand1_Click()

Dimc$(14),i%

Fori=0To14

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

Nexti

Fori=0To14

(i);

Nexti

EndSub

33、编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函

数或子过程)来实现。调用该过程。(提示:只能被1和自身整除的自然数称为素数。)

Functionsushu%(ByValx%)

Dimm%,TagAsBoolean,i%

VB常用必背程序

21/2821/28

m=Val(x)

Tag=True

Fori=2Tom-1

If(mModi)=0ThenTag=Fal

Nexti

IfTagThensushu=x

EndFunction

PrivateSubCommand1_Click()

Dimi%,k%

Fori=100To1000

Ifsushu(i)mi

Nexti

Sum=0

Fork=unt-1

Sum=Sum+Val((k))

Nextk

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

EndSub

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

PrivateSubForm_Click()

Dima(1To10)AsInteger,i%,maxa%,mina%,suma%

Fori=1To10

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

Nexti

mina=a(1)

maxa=a(1)

suma=a(1)

VB常用必背程序

22/2822/28

Fori=2To10

Ifa(i)>maxaThenmaxa=a(i)

Ifa(i)

suma=suma+a(i)

Nexti

Fori=1To10

Printa(i);

Nexti

Print

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

EndSub

35、已知一维数组a()中的元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},

编程将30插入数组a,并使a依然有序。

PrivateSubCommand1_Click()

Dima(),i%,k%,x%,n%

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

n=UBound(a)

x=Val(Text1)

Fork=0Ton

Ifx

Nextk

ReDimPrervea(n+1)

Fori=nTokStep-1

a(i+1)=a(i)

Nexti

a(k)=x

Fori=0Ton+1

Printa(i);

VB常用必背程序

23/2823/28

Nexti

EndSub

37、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,

编程将第2行和第4行对应元素交换。

PrivateSubForm_Click()

Dima(0To3,0To3),i%,j%,t

Fori=0To3

Forj=0To3

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

PrintTab(j*5);a(i,j)

Nextj

Nexti

Print

Print

Forj=0To3

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

Nextj

Fori=0To3

Forj=0To3

PrintTab(j*5);a(i,j)

Nextj

Nexti

EndSub

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

PrivateSubForm_Click()

Dima(1To10)AsInteger,i%,mina%,m%

Fori=1To10

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

VB常用必背程序

24/2824/28

Nexti

mina=a(1)

Fori=2To10

Ifa(i)

mina=a(i):m=i

ElIfa(i)=a(1)Then

mina=a(i):m=i

EndIf

Nexti

Fori=1To10

Printa(i);

Nexti

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

EndSub

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

内所有素数的和。

Functionss(n)AsInteger

Dimi%,tagAsBoolean

tag=True

Fori=3Ton/2

If(nModi)=0Thentag=Fal

Nexti

IftagThenss=n

EndFunction

PrivateSubPicture1_Click()

Dimi%,avera

avera=0

Fori=1000To1100

VB常用必背程序

25/2825/28

Ifss(i)<>0ThenPrintss(i)

avera=avera+ss(i)

Nexti

vera

EndSub

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

PrivateSubForm_Click()

Dima(1To10),amin,i%

Fori=1To10

a(i)=Int(Rnd*101)

Printa(i);

Nexti

CallProcMin(a(),amin)

Print

Print"amin=";amin

EndSub

SubProcMin(b(),min)

Dimi%

min=b(LBound(b))

Fori=LBound(b)+1ToUBound(b)

Ifb(i)

Nexti

EndSub

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

为subsort1(a%())。提示:子过程的形式为subsort1(a%())。

PrivateSubCommand1_Click()

Dimb%(10),i%

Print"排序前"

VB常用必背程序

26/2826/28

Fori=0To9

b(i)=Int(Rnd*100)

Printb(i);

Nexti

Print

Print"排序后"

Callsort(b())

EndSub

Subsort(a%())

Dimi%,m%,n%,min%,j%

n=UBound(a)

Fori=0Ton-1

Forj=0Ton-1-i

Ifa(j)

Nextj

Nexti

Fori=LBound(a)ToUBound(a)-1

Printa(i);

Nexti

EndSub

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

为subsort1(a%())。

PrivateSubCommand1_Click()

Dimb%(10),i%

Print"排序前"

Fori=1To10

b(i)=Int(Rnd*100)

Printb(i);

VB常用必背程序

27/2827/28

Nexti

Print

Print"排序后"

Callsort(b())

EndSub

Subsort(a%())

Dimi%,m%,n%,min%,t%

n=UBound(a)

Fori=0Ton-1

min=i

Forj=i+1Ton

Ifa(j)

Nextj

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

Nexti

Fori=LBound(a)ToUBound(a)

Printa(i);

Nexti

EndSub

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

为subsort1(a%())。

PrivateSubCommand1_Click()

Dimb%(10),i%

Print"排序前"

Fori=0To9

b(i)=Int(Rnd*100)

Printb(i);

Nexti

VB常用必背程序

28/2828/28

Print

Print"排序后"

Callsort(b())

EndSub

Subsort(a%())

Dimi%,m%,n%,min%,j%

n=UBound(a)

Fori=0Ton-1

Forj=0Ton-1-i

Ifa(j)>a(j+1)Thenm=a(j):a(j)=a(j+1):a(j+1)=m

Nextj

Nexti

Fori=LBound(a)+1ToUBound(a)

Printa(i);

Nexti

EndSub

•赞(13)

•转载(2686)

•分享(231)

本文发布于:2023-03-14 01:07:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1678727228122149.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:vb程序.doc

本文 PDF 下载地址:vb程序.pdf

下一篇:返回列表
标签:vb程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|