VB程序设计编程考试题及答案精选文档.docx
- 文档编号:4988899
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:15
- 大小:19.31KB
VB程序设计编程考试题及答案精选文档.docx
《VB程序设计编程考试题及答案精选文档.docx》由会员分享,可在线阅读,更多相关《VB程序设计编程考试题及答案精选文档.docx(15页珍藏版)》请在冰豆网上搜索。
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)〈minThenmin=a(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)〈MinThenMin=a(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 Ifx〈a(k)ThenExitFor Nextk ReDimPreservea(n+1) Fori=nTokStep—1 a(i+1)=a(i) Nexti a(k)=x Fori=0Ton+1 Printa(i); Nexti EndSub 26.编写一函数,计算Double类型一维数组所有元素的平均值。 27.编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定 PrivateSubcommand1_Click() Dima(1To10),min,i% Fori=1To10 a(i)=Int(Rnd*101) Printa(i); Nexti CallProcMin(a(),min) Print Print"min=”;min EndSub SubProcMin(b(),min) Dimi% min=b(LBound(b)) Fori=LBound(b)+1ToUBound(b) Ifb(i) Nexti EndSub 28.编一子过程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)〈minThenmin=b(i) Nexti EndSub 29.编一个函数,求一维数组a中的最大值,函数的形参自己确定。 PrivateSubForm_Click() Dima(1To10),amax,i% Fori=1To10 a(i)=Int(Rnd*101) Printa(i); Nexti CallProcMax(a(),amax) Print Print”amax=";amax EndSub SubProcMax(b(),max) Dimi% min=b(LBound(b)) Fori=LBound(b)+1ToUBound(b) Ifb(i)〉maxThenmax=b(i) Nexti EndSub 30.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。 调用该过程。 (提示: 只能被1和自身整除的自然数称为素数。 )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计 编程 考试题 答案 精选 文档