VB程序设计编程考试题及答案.docx
- 文档编号:3947206
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:14
- 大小:18.19KB
VB程序设计编程考试题及答案.docx
《VB程序设计编程考试题及答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计编程考试题及答案.docx(14页珍藏版)》请在冰豆网上搜索。
VB程序设计编程考试题及答案
VB程序设计编程考试题及答案
1.输入3个数,输出最大的数
PrivateSubcommand1_click()
Dimmax
Fori=1To3
n=Val(InputBox("输入第"&i&"个数"))
Ifn>maxThen
max=n
EndIf
Next
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
Label4="方程有根"
Else
Label4="方程无根"
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整除但不能被100整除,或者能被400整除)
PrivateSubCommand1_Click()
Dimy%
y=InputBox("请输入年份")
IfyMod4=0AndyMod100<>0OryMod400=0Then
Val(MsgBox("闰年!
"))
Else
Val(MsgBox("平年!
"))
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%
x=Text1
x1=xMod10
x2=(xMod100)\10
x3=x\100
Label1=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()
Fori=200To400
IfiMod5=0OriMod7=0Then
Sum=Sum+i
EndIf
Nexti
Fori=200To400
IfiMod5=0AndiMod7=0Then
Sum=Sum-i
EndIf
Nexti
Print“倍数之和=”;Sum
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) 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() Dima(1To10,1To10),i,jAsInteger Fori=1To10 Forj=1To10 a(i,j)=Int(Rnd*11+10) Next Next Fori=1To10 Forj=1Toi PrintSpc(3);a(i,j); Next Print Next EndSub 23.随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。 PrivateSubCommand1_Click() Dima(1To10) Fori=1To10 a(i)=Int(Rnd*101)+1 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 24.利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和 PrivateSubCommand1_Click() Dima%(4,5),sum Fori=1To4 Forj=1To4 a(i,j)=Int(Rnd*31)+20 Printa(i,j); sum=sum+a(i,j) Nextj Print'换行 Nexti Print"sum=";sum EndSub 25.已知有序数组a(),编程插入x(x的值为14)。 数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。 PrivateSubCommand1_Click() Dima(),i%,k%,x%,n% a=Array(4,6,12,20,31,63,75,89,100) n=UBound(a) x=Val(InputBox("请输入所要插入数")) Fork=0Ton
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计 编程 考试题 答案