VB常见编程题编程.docx
- 文档编号:30685216
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:25
- 大小:232.75KB
VB常见编程题编程.docx
《VB常见编程题编程.docx》由会员分享,可在线阅读,更多相关《VB常见编程题编程.docx(25页珍藏版)》请在冰豆网上搜索。
VB常见编程题编程
1产生1-100以内的素数
PrivateSubCommand1_Click()
Dimi%,j%,tagAsBoolean
Forj=1To100
tag=True
Fori=2Toj-1
If(jModi)=0Thentag=False
Nexti
IftagThenPrintj
Nextj
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"s=";s
EndSub
30到200被5或11整除的数的和
PrivateSubCommand1_Click()
Dimi%
Fori=0To200
IfiMod11=0OriMod5=0Then
Printi;
Sum=Sum+i
EndIf
Nexti
Print"总和是";Sum
EndSub
9找出被3、5、7除,余数
均为1的最小的5个正整数。
PrivateSubCommand1_Click()
DimcountN%,n%
countN=0
n=1
Do
n=n+1
IfnMod3=1AndnMod5=1AndnMod7=1Then
Printn
countN=countN+1
EndIf
LoopUntilcountN=5
EndSub
10、某次歌曲大奖赛,有7个评委。
如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
PrivateSubForm_Click()
Dima(6)AsInteger,i%,t%,s!
max%,min%,imin%,imax%
Randomize
Fori=0To6
a(i)=InputBox("输入评委所打的分数")'也可以用随机数产生
'a(i)=Int(Rnd*31+70)
Nexti
Fori=0To6
Printa(i);
Nexti
imax=0:
max=a(0)
Fori=1To6
Ifa(i)>=maxThenmax=a(i):
imax=i
Nexti
t=a(0):
a(0)=a(imax):
a(imax)=t
imin=6:
min=a(6)
Fori=0To5
Ifa(i)<=minThenmin=a(i):
imin=i
Nexti
t=a(6):
a(6)=a(imin):
a(imin)=t
Print"除去最高分和最低分之后的分数"
Fori=1To5
Printa(i);
Nexti
Fori=1To5
s=s+a(i)
Nexti
Print"该参赛者的平均得分为";s/5
EndSub
(注:
“'也可以用随机数产生”不要往程序上粘)
12、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
例如,产生246,输出是642。
PrivateSubCommand1_Click()
Text1=Int(Rnd*900+100)
EndSub
PrivateSubCommand2_Click()
Dimx%,x1%,x2%,x3%
x=Val(Text1)
x1=xMod10
x2=(xMod100)\10
x3=x\100
Text2=x1*100+x2*10+x3
EndSub
15、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。
(下三角、全部元素)
÷
Dima%(4,4),i%,j%
PrivateSubForm_load()
Fori=0To4
Forj=0To4
a(i,j)=Int(Rnd*11+10)
Nextj
Nexti
EndSub
PrivateSubCommand1_Click()
Picture1.Cls
Fori=0To4
Forj=0To4
Picture1.Printa(i,j);"";
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubCommand2_Click()
Picture2.Cls
Fori=0To4
Forj=iTo4
Picture2.Printa(i,j);"";
Nextj
Picture2.Print
Nexti
EndSub
PrivateSubCommand3_Click()
Picture3.Cls
Fori=0To4
Forj=0Toi
Picture3.Printa(i,j);"";
Nextj
Picture3.Print
Nexti
EndSub
21.随机产生30~100(包括30、100)中的十个正整数,求最大值、最小值、平均值,并显示整个数组的值和结果。
PrivateSubForm_Click()
Dima(1To10)AsInteger,i%,maxa%,mina%,avera!
Fori=1To10
a(i)=Int(Rnd*71+30)
Nexti
mina=a
(1)
maxa=a
(1)
avera=a
(1)
Fori=2To10
Ifa(i)>maxaThenmaxa=a(i)
Ifa(i) avera=avera+a(i) Nexti Fori=1To10 Printa(i); Nexti Print Print"max=";maxa,"min=";mina,"aver=";avera/10 EndSub 23、随机产生15个小写字母,放在字符串中。 (提示: c=chr(int(rnd*26+97))) PrivateSubForm_Click() Dima$(1To15),i% Print"字符数组为a(i): " Fori=1To15 a(i)=Chr(Int(Rnd*26+97)) Printa(i);Spc (1); Nexti Print EndSub PrivateSubForm_Load() FontSize="10" EndSub 30.已知一维数组a中元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},编程将30插入数组,使a仍保持有序。 PrivateSubForm_load() Dima(),i%,k%,x%,n% a=Array(1,4,7,9,12,14,23,56) n=UBound(a) Fori=0Ton List1.AddItema(i) Nexti EndSub PrivateSubcommand1_Click() x=Val(Text1) Fork=0ToList1.ListCount-1 Ifx Nextk List1.AddItemx,k EndSub 运行界面示例: 35.编程输出n行杨辉三角形图,n由键盘输入。 SubCommand1_Click() Dimn%,i%,j% n=Val(Text1) Dima%(1To1000,1To1000) Fori=1Ton a(i,1)=1 Nexti Fori=1Ton a(i,i)=1 Nexti Forj=2Toi-1 Fori=3Ton a(i,j)=a(i-1,j-1)+a(i-1,j) Nexti Picture1.Print; Nextj Picture1.PrintTab(j*n);a(i,j) Fori=1Ton Forj=1Toi Picture1.Printa(i,j);""; Nextj Picture1.Print Nexti EndSub 运行界面示例: 41: .编一冒泡程序,对已知整数按递减次序排列,用子过程 Subsort(a()) Dimimin%,i%,j% Fori=0ToUBound(a)-1 Forj=0ToUBound(a)-1-i Ifa(j+1)>a(j)Then t=a(j): a(j)=a(j+1): a(j+1)=t EndIf Nextj Nexti EndSub PrivateSubForm_Click() Dimb(),i% b=Array(8,9,4,2,6) Callsort(b()) Fori=0ToUBound(b) Printb(i); Nexti EndSub 43.用选择排序法子过程对已知的若干整数按递增次序排列 Subsort(a()) Dimimin%,i%,j% Fori=0ToUBound(a)-1 imin=i Forj=i+1ToUBound(a) Ifa(j) Nextj t=a(i): a(i)=a(imin): a(imin)=t Nexti EndSub PrivateSubForm_Click() Dimb(),i% b=Array(8,9,4,2,6) Callsort(b()) Fori=0ToUBound(b) Printb(i); Nexti EndSub 45.编一冒泡程序,对已知整数按递增次序排列,用子过程 Subsort(a()) Dimimin%,i%,j% Fori=0ToUBound(a)-1 Forj=0ToUBound(a)-1-i Ifa(j)>a(j+1)Then t=a(j): a(j)=a(j+1): a(j+1)=t EndIf Nextj Nexti EndSub PrivateSubForm_Click() Dimb(),i% b=Array(8,9,4,2,6) Callsort(b()) Fori=0ToUBound(b) Printb(i); Nexti EndSub 11、编程显示100~500之间所有的水仙花数之和。 (水仙花数是3位数,其各位数之和等于该数本身) PrivateSubForm_Click() Dima,b,c,tAsInteger'a(个)b(十)c(百) Fora=0To9 Forb=0To9 Forc=1To9 t=a^3+b^3+c^3 Ift=a+10*b+100*cAndt<500Andt>100Then Print100*c+10*b+a EndIf Nextc Nextb Nexta EndSub 16、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。 Dima%(3,3),i%,j%,imax% PrivateSubCommand1_Click() Fori=0To3 Forj=0To3 a(i,j)=Int(Rnd*31+20) Picture1.Printa(i,j);""; Nextj Picture1.Print Nexti imax=0 Fori=0To3 Forj=0To3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 常见 编程