VB编程题完整版3.docx
- 文档编号:8134158
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:16
- 大小:20.63KB
VB编程题完整版3.docx
《VB编程题完整版3.docx》由会员分享,可在线阅读,更多相关《VB编程题完整版3.docx(16页珍藏版)》请在冰豆网上搜索。
VB编程题完整版3
VB编程题完整版-3
(1)选择结构
(2)循环结构(3)数组(4)过程
1.输入3个数,输出最大的数
2.有一元二次方程:
aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根
3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!
成绩通过!
”,若小于60,则弹出消息框,显示“抱歉!
成绩没有通过!
”
4.输入一年份,判断它是否为闰年,并显示有关信息。
(判断闰年的条件是:
年份能被4整除但不能被100整除,或者能被400整除)
5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
例如,产生246,输出是642。
7.输入两个整数,求它们的最大公约数。
8.编程求200--400范围内5的倍数或7的倍数之和。
(一个数如果同时是7和5的倍数,则只能加一次。
。
9.计算100~300之间所有能被3和7整除的数之和
10.分别统计1-100中,满足3的倍数、7的倍数的数各有多少。
11.某次歌曲大奖赛,有7个评委。
如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
12.输入一串字符,统计其中字母A(不区分大小写)出现的次数。
13.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。
14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?
15.求100以内的素数
16.百元买百鸡问题。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
17.编程求斐波那契数列前11项。
(斐波那契数列:
F(0)=f
(1)=1,F(n)=F(n-1)+F(n-2)n>=2)
18.将输入的字符串以反序显示。
例如:
输入“ASDFGT”,显示“TGFDSA”
19.随机产生10个[30,100]内的整数,求最大值及所对应的下标
20.随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
21.随机产生10个[30,100]内的整数,求最小值及所对应的下标。
22.随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。
23.随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。
24.利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和
25.已知有序数组a(),编程插入x(x的值为14)。
数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。
26.编写一函数,计算Double类型一维数组所有元素的平均值。
27.用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和.
28.编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。
29.编一个函数,求一维数组a中的最大值,函数的形参自己确定。
30.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。
调用该过程。
(提示:
只能被1和自身整除的自然数称为素数。
)
1.输入3个数,输出最大的数
PrivateSubCommand1_Click()
x=InputBox("键入第一个数")
y=InputBox("键入第二个数")
z=InputBox("键入第三个数")
Max=x
IfMax IfMax Print"最大值";Max EndSub 2.有一元二次方程: aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根 PrivateSubCommand1_Click() Dima,b,c,n a=Text1 b=Text2 c=Text3 n=b*b-4*a*c Ifn>=0Then Label1="方程有根" Else Label1="方程无根" EndIf EndSub 3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜! 成绩通过! ”,若小于60,则弹出消息框,显示“抱歉! 成绩没有通过! ” PrivateSubForm_Load() Text1="" EndSub PrivateSubCommand1_Click() Dimn n=Text1 Ifn>60Then Val(MsgBox("恭喜! 成绩通过! ")) Else Val(MsgBox("抱歉! 成绩没有通过! ")) EndIf EndSub 4.4输入一年份,判断它是否为闰年,并显示有关信息。 (判断闰年的条件是: 年份能被4整除但不能被100整除,或者能被400整除) PrivateSubCommand1_Click() Dimy% y=Val(Text1) IfyMod4=0AndyMod100<>0OryMod400=0Then MsgBox(y&"年是闰年") Else MsgBox(y&"年不是闰年") EndIf EndSub 5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。 PrivateSubCommand1_Click() a=Val(InputBox("请输入成绩")) Ifa>100ThenPrint"超出范围" Ifa>=90Anda<=100ThenPrint"优秀" Ifa>=80Anda<90ThenPrint"良好" Ifa>=70Anda<80ThenPrint"中等" Ifa>=60Anda<70ThenPrint"及格" Ifa<60ThenPrint"不及格" EndSub 6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。 例如,产生246,输出是642。 PrivateSubCommand1_Click() Dimx%,x1%,x2%,x3% Text1=Int(Rnd*900+100) x=Val(Text1) x1=xMod10 x2=(xMod100)\10 x3=x\100 Text2=x1*100+x2*10+x3 EndSub 7.输入两个整数,求它们的最大公约数 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 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=0AndiMod7=0Then s2=s2+i EndIf Nexti s3=s1-s2 Prints3 EndSub 9、计算100~300之间所有能被3和7整除的数之和 PrivateSubCommand1_Click() Dimi Sum=0 Fori=100To300 IfiMod3=0AndiMod7=0Then Sum=Sum+i EndIf Nexti PrintSum EndSub 10、分别统计1-100中,满足3的倍数、7的倍数的数各有多少。 PrivateSubCommand1_Click() Dimi,s3,s7 s3=0 s7=0 Fori=1To100 IfiMod3=0Then s3=s3+1 EndIf Nexti Fori=1To100 IfiMod7=0Then s7=s7+1 EndIf Nexti Print"3的倍数";s3 Print"7的倍数";s7 EndSub 11、某次歌曲大奖赛,有7个评委。 如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。 PrivateSubCommand1_Click() Dimmax,a(1To7),min,s Fori=1To7 a(i)=Val(InputBox("输入第"&i&"个数")) Nexti max=a (1) min=a (1) s=a (1) Fori=2To7 Ifa(i)>maxThenmax=a(i) Ifa(i) s=s+a(i) Nexti s=s-min-max s=s/5 Print"平均分";s EndSub 12、输入一串字符,统计其中字母A(不区分大小写)出现的次数。 PrivateSubCommand1_Click() DimcAsString,aAsInteger b=InputBox("请输入字符") Fori=1ToLen(b) c=UCase(Mid(b,i,1)) Ifc="A"Then a=a+1 EndIf Nexti Print"a出现的次数: ";a EndSub 13、我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。 PrivateSubCommand1_Click() Dima,i a=13 i=0 DoWhilea<26 a=a*(1.008) i=i+1 Loop Printi EndSub 14、小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少? PrivateSubCommand1_Click() Dima,i a=1 Fori=1To6 a=2*(a+1) Nexti Print"小猴原有桃";a;”只” EndSub 15、求100以内的素数 PrivateSubCommand1_Click() Dimi,j Fori=2To100 Forj=2Toi-1 IfiModj=0ThenExitFor Nextj Ifj=iThenPrinti Nexti EndSub 16、百元买百鸡问题。 假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。 PrivateSubCommand1_Click() Print"小鸡";"";"母鸡";"";"公鸡" Print"" Forx=1To100 Fory=1To100 Forz=1To100 If0.5*x+2*y+3*z=100Then Print"";x;"";y;"";z EndIf Nextz Nexty Nextx EndSub 17、编程求斐波那契数列前11项。 (斐波那契数列: F(0)=f (1)=1,F(n)=F(n-1)+F(n-2)n>=2) PrivateSubCommand1_Click() DimF(11),iAsLong F(0)=1 F (1)=1 Fori=2To10 F(i)=F(i-1)+F(i-2) Nexti Fori=0To11 PrintF(i); Nexti EndSub 18、将输入的字符串以反序显示。 例如: 输入“ASDFGT”,显示“TGFDSA” PrivateSubCommand1_Click() Dima,b,c,d,n a=InputBox("输入字符串") n=Len(a) Forb=1ToInt(n\2) c=Mid(a,b,1) Mid(a,b,1)=Mid(a,n-b+1,1) Mid(a,n-b+1,1)=c Nextb Printa EndSub 19、随机产生10个[30,100]内的整数,求最大值及所对应的下标 PrivateSubCommand1_Click() Dima(1To10),m Randomize ForI=1To10 a(I)=Int(Rnd*71)+30 Printa(I) NextI Max=a (1) ForI=2To10 Ifa(I)>MaxThenMax=a(I): m=I NextI Print"max=";Max Print"max的下标为";m EndSub 20、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。 PrivateSubCommand1_Click() Dima(1To10) Randomize Fori=1To10 a(i)=Int(Rnd*71)+30 Printa(i) Nexti Max=a (1) Min=a (1) Avg=a (1) Fori=2To10 Ifa(i)>MaxThenMax=a(i) Ifa(i) Avg=Avg+a(i) Nexti Avg=Avg/10 Print"max=";Max Print"min=";Min Print"avg=";Avg EndSub 21、随机产生10个[30,100]内的整数,求最小值及所对应的下标。 PrivateSubCommand1_Click() Dima(1To10),m Randomize ForI=1To10 a(I)=Int(Rnd*71)+30 Printa(I) NextI Min=a (1) ForI=2To10 Ifa(I) m=I NextI Print"min=";Min Print"min的下标为";m EndSub 22、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。 PrivateSubCommand1_Click() Fori=0To4 Forj=0Toi Printa(i,j);""; Nextj Print Nexti EndSub PrivateSubForm_Activate() Dima%(4,4),i%,j% Fori=0To4 Forj=0To4 a(i,j)=Int(Rnd*11+10) Printa(i,j);""; Nextj Print Nexti EndSub 23、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。 PrivateSubForm_Click() Dima(1To10)AsInteger,i%,maxa%,mina%,suma% Fori=1To10 a(i)=Int(Rnd*99+1) Printa(i); Nexti mina=a (1) maxa=a (1) suma=a (1) Fori=2To10 Ifa(i)>maxaThenmaxa=a(i) Ifa(i) suma=suma+a(i) Nexti Print Print"max=";maxa,"min=";mina,"aver=";suma/10 EndSub 24、利用随机函数生成一个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 25、已知有序数组a(),编程插入x(x的值为14)。 数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。 1.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 ReDimPreservea(n) Fori=0Ton Printa(i); Nexti Print EndSub 26、编写一函数,计算Double类型一维数组所有元素的平均值。 subfunctionxx(arrasdouble)asdouble dimheasdouble dimiasinteger fori=lbound(arr)toubound(arr) he=he+arr(i) next xx=he/(ubound(arr)-lbound(arr)+1) endfunction 27、用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和. functionsumfs(iasinteger)asdouble dimsumsasdouble,jasinteger forj=1toi sums=sums+1/j nexti sumfs=sums endfunction 28、编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。 PrivateSubCommand1_Click() Dimi%,n% Dima(10)AsInteger Randomize Fori=1To10 a(i)=Int(Rnd*101+400) Print"a("&i&;")="&a(i) Nexti ProcMina() EndSub SubProcMin(b()AsInteger) Dimi%,min% min=b(LBound(b)) Fori=LBound(b)+1ToUBound(b) Ifb(i) Nexti Print"数组中最小值为: "&min EndSub 29、编一个函数,求一维数组a中的最大值,函数的形参自己确定。 PrivateSubCommand1_Click() Dima(1To10)AsInteger DimI,bAsInteger Randomize ForI=1To10 a(I)=Format((Rnd*100+100),"000") Printa(I) b=max(Val(a(I)),b) NextI Print Printb EndSub Functionmax(xAsInteger,yAsInteger)AsInteger Ifx>yTheny=x max=y EndFunction 30、编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。 调用该过程。 (提示: 只能被1和自身整除的自然数称为素数。 ) Functionsushu%(ByValx%) Dimm%,TagAsBoolean,i% m=Val(x) Tag=True Fori=2Tom-1 If(mModi)=0ThenTag=False Nexti IfTagThensushu=x EndFunction PrivateSubCommand1_Click() Dimi%,k% Fori=100To1000 Ifsushu(i)ThenList1.AddItemi Nexti Sum=0 Fork=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 编程 完整版