VB考试复习题.docx
- 文档编号:9485636
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:34
- 大小:22.23KB
VB考试复习题.docx
《VB考试复习题.docx》由会员分享,可在线阅读,更多相关《VB考试复习题.docx(34页珍藏版)》请在冰豆网上搜索。
VB考试复习题
1、已知x,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x PrivateSubCommand1_Click() Dimx! y! z! x=InputBox("inputx") y=InputBox("inputy") z=InputBox("inputz") PrintTab(8);"";"x";"y";"z" Print"排序前: ";x;"";y;"";z Ifx x=y: y=t: Ifx x=z: z=t: Ify y=z: z=t: Print"排序后: ";"";z;"";y;"";x EndSub 2.0到200被5或11整除的数的和 PrivateSubCommand1_Click() Dimi% Fori=0To200 IfiMod11=0OriMod5=0Then Sum=Sum+i EndIf Nexti Print"总和是";Sum EndSub 3、从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能形。 PrivateSubCommand1_Click() Dima%,b%,c% a=Val(InputBox("inputa")) b=Val(InputBox("inputb")) c=Val(InputBox("inputc")) Ifa+b>cAndb+c>aAnda+c>bThen MsgBox("能构成三角形") Else MsgBox("不能构成三角形") EndIf EndSub 4、随机产生10个[30,100]内的整数,求最小值及所对应的下标。 PrivateSubForm_click() Dima(1To10)AsInteger,zb%,mina%,i% Fori=1To10 a(i)=Int(Rnd*71+30) Printa(i); Nexti zb=1 mina=a (1) Fori=2To10 Ifmina>a(i)Thenmina=a(i): zb=i Nexti Print Print"min=";mina,"下标=";zb EndSub 5、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。 Dima(1To10)AsInteger,amin,amax,i%,avera! 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 6、随机产生10个[30,100]内的整数,求最大值及所对应的下标 PrivateSubForm_Click() Dima(9),max%,imax% Fori=0To9 a(i)=Int(Rnd*71+30) Printa(i); Nexti Print max=a(0) Fori=1To9 Ifmax imax=i Nexti Print"max=";max Print"下标=";imax EndSub 7、某次歌曲大奖赛,有7个评委。 如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。 PrivateSubCommand1_Click() Dimmark! max! min! aver! i% aver=0 Fori=1To7 mark=InputBox("输入第"&i&"位评委的打分") Ifi=1Then max=mark: min=mark Else Ifmark Ifmark>maxThenmax=mark EndIf aver=aver+mark Nexti aver=(aver-min-max)/5 Printaver EndSub 8,9、求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 PrintTab(9);"a=";a,"n=";n Print Fori=1Ton t=t*10+a s=s+t PrintTab(9);t Nexti Print PrintTab(9);"s=";Val(s) EndSub 10.产生1-100以内的素数 PrivateSubCommand1_Click() Dimi%,j%,tagAsBoolean Forj=1To100 tag=True Fori=2Toj-1 IfjModi=0Thentag=False Nexti IftagThenPrintj; Nextj EndSub 11、计算100~300之间所有能被3和7整除的数之和。 PrivateSubCommand1_Click() Dims%,i% s=0 Fori=100To300 IfiMod3=0OriMod7=0Then s=s+i EndIf Nexti Print"s="&s EndSub 12.输入一年份,判断他是否为闰年,并现实是否是闰年的有关信息。 PrivateSubCommand1_Click() Dimy% y=Val(Text1) IfyMod4=0AndyMod100<>0OryMod400=0Then MsgBox(y&"年是闰年") Else MsgBox(y&"年是平年") EndIf EndSub 13、编程求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=0AndiMod7=0Then s2=s2+i EndIf Nexti s3=s1-s2 Prints3 EndSub 14.利用inputbox函数输入两个整数,求它们的最大公约数 PrivateSubCommand1_Click() n1=InputBox("输入n") m1=InputBox("输入m") Ifm1>n1Then m=m1: n=n1 Else m=n1: n=m1 EndIf r=mModn DoWhiler<>0 m=n n=r r=mModn Loop Print"mn的最大公约数是: ";n EndSub 15、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。 例如,产生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 方法二: Dima%,m%,b%,c%,d% PrivateSubForm_Click() a=Int(Rnd*900+100) Printa d=(aMod10)*100 b=(aMod100)-(aMod10) c=a\100 m=c+b+d Printm EndSub 16、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。 PrivateSubForm_Click() Dimi,a,b,nAsString n=InputBox("输入字符") i=Len(n) Fora=1Toi/2 b=Mid(n,a,1) Mid(n,a,1)=Mid(n,i+1-a,1) Mid(n,i+1-a,1)=b Nexta Printn EndSub 17、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和 PrivateSubForm_Click() Dima(3,3),sum% Fori=0To3 Forj=0To3 a(i,j)=Int(Rnd*31+20) Nextj Nexti Fori=0To3 Forj=0To3 Printa(i,j); Nextj Print Nexti Fori=0To3 Forj=0To3 sum=sum+a(i,j) Nextj Nexti Print"sum=";sum EndSub 18.编一子过程Procmin(a(),amin),求一维数组中a的最小值amin. (随机产生10个200-400之间的数,并显示数组各元素;调用子函数,显示最小值) PrivateSubForm_Click() Dima(1To10),amin,i% Fori=1To10 a(i)=Int(Rnd*200+200) Printa(i); Nexti Calls(a(),amin) Print Print"min=";amin EndSub Subs(b(),min) Dimi% min=b(LBound(b)) Fori=LBound(b)+1ToUBound(b) Ifb(i) Nexti EndSub 19,20.编一个选择排序法子过程,对已知的若干整数按递增次序排列。 提示: 子过程的形式为subsort1(a%())。 PrivateSubCommand1_Click() Dimb%(10),i% Print"排序前" Fori=1To10 b(i)=Int(Rnd*100) Printb(i); 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 递减次序排列 PrivateSubCommand1_Click() Dimb%(10),i% Print"排序前" 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) a(j)=a(j+1): a(j+1)=m Nextj Nexti Fori=LBound(a)ToUBound(a)-1 Printa(i); Nexti EndSub 21,22.已知有序数组a(),编程插入x(x的值为14)。 数组a中的元素分别 为{12,6,4,89,75,63,100,20,31}。 Ip=Val(InputBox("请输入数字x")) Fori=0ToUBound(A)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 考试 复习题