湖南省计算机二级考试VB题库Word文档下载推荐.docx
- 文档编号:1032660
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:35
- 大小:35.46KB
湖南省计算机二级考试VB题库Word文档下载推荐.docx
《湖南省计算机二级考试VB题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《湖南省计算机二级考试VB题库Word文档下载推荐.docx(35页珍藏版)》请在冰点文库上搜索。
211314
【试题3】设某四位数的各位数字的平方和等于100,共有多少个这种四位数?
PrivateSubcmdFourSqr_Click()
DimaasInteger,basInteger,casInteger,dasInteger
DimiasInteger,countAsInteger
count=0
i=1000
DoUntil________________
a=i\1000
b=(iMod1000)\100
c=Int((i–a*1000–b*100)\10)
d=iMod10
If100=a*a+b*b+c*c+d*dThen___________________
i=i+1
Loop
PrintTab(5);
"
满足条件的四位数数目为:
"
;
count
【答案】i>
=10000,count=count+1结果:
49
【试题4】求方程51X-21Y=3,在|X|≤201,|Y|≤81内共有多少组整数解?
PrivateSubcmdIntegerRoot_Click()
DimcountAsInteger
Forx=-201To201
Fory=-81To81
If_________________Thencount=count+1
Next________________
“符合条件的数的数目为:
”;
count
【答案】51*x-21*y=3,y,x结果:
10
【试题5】利用公式ex≈1+x+x2/2!
+x3/3!
+x4/4!
…+xn/n!
求ex的近似值。
设x=9,n=25。
PrivateSubForm_click()
DimnAsInteger,xAsInteger,iAsInteger
DimxpowerAsSingle,yAsSingle
x=int(InputBox("
请输入x:
))
n=int(InputBox("
请输入n:
y=1
factor=1:
xpower=1
Fori=1Ton
factor=factor*i
xpower=
y=
Nexti
Printy
【答案】xpower*x,y+xpower/factor结果:
8103.059
【试题6】已知菲波纳契数列{X}中,X
(1)=1,X
(2)=1,X(n)=X(n-1)+X(n-2),编程求数列前30个数中,所有质数的和。
PrivateSubForm_Click()
DimsAsLong
DimIAsInteger
DimNo(30)AsLong
No
(1)=1
No
(2)=1
s=0
For
No(I)=No(I–1)+No(I–2)
j=2:
k=sqr(No(I))
DoWhilej<
=k
IfNo(I)Modj=0ThenExitDo
j=j+1
Ifj>
kThen
NextI
Print"
前三十个菲波纳契数中质数和是:
s
【答案】I=3To30,s=s+No(I)结果:
544828
【试题7】
求27090,21672,11352,8127的最大公约数。
OptionBase1
FunctionGreatestCommonDivisor(ByValmAsLong,ByValnAsLong)AsLong
DimtAsLong
DimrAsLong
Ifm<
nThent=m:
m=n:
n=t
Do
r=mModn
m=n
n=r
LoopUntilr=0
GreatestCommonDivisor=
Dima,gcd&
iAsByte
a=Array(27090,21672,11352,8127)
gcd=a
(1)
Fori=2To
gcd=GreatestCommonDivisor(gcd,a(i))
Next
Printgcd
【答案】m,UBound(a)结果:
129
二、程序改错
【第1题】下面程序是输出100-200之间的所有素数个数,程序中有两行有错误。
改正错误,使它能输出正确的结果。
Number=0
Forx=101To199Step2
i=2
k=Int(x/2)
DoWhilei<
=k
IfxModi=0ThenExitFor
Ifi<
kThen
Number=Number+1
EndIf
Nextx
PrintNumber
【答案】
ExitFor改为ExitDo
Ifi<
kThen改为Ifi>
kThen
【第2题】下面程序是解决猴子吃桃问题。
猴子第1天摘下若干桃子,当即吃掉一半,又多吃一个,第二天将剩余的部分吃掉一半还多一个;
以此类推,到第10天只剩余1个。
问第1天共摘了多少桃子。
程序中有两行有错误。
OptionExplicit
DimdayAsInteger,sumAsInteger
day=10;
sum=1
DoWhileday>
0
sum=sum*2
day=day–1
Printsum
Day=10改为Day=9
sum=sum*2改为sum=(sum+1)*2
【第3题】一个两位数的正整数,如果将其个位数与十位数字对调所生成的数称为其对调数,如28是82的对调数。
现给定一个两位的正整数,请找到另一个两位的整数,使这两个数之和等于它们的各自的对调数之和。
这样的另一个两位数有多少个。
程序中有两行有错误(从键盘输入的两位数为46)改正错误,使它能输出正确的结果。
DimxAsInteger,yAsInteger,numberasInteger
DimxfAsInteger,yfAsInteger
请输入一个2位正整数:
LoopWhile(x<
9)Or(x>
99)
xf=(xMod10)*10+Int(y/10)
Fory=10To99
yf=yMod10+Int(y/10)
Ifx+y=xf+yfThen
Printx;
+"
y;
="
xf;
yf;
x+y
Nexty
xf=(xMod10)*10+Int(y/10)改为xf=(xMod10)*10+Int(x/10)
yf=yMod10+Int(y/10)改为yf=(yMod10)*10+Int(y/10)
【第4题】下面程序解决的问题是:
已知24有8个正整数因子(即:
1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。
求[100,300]之间能被其因子数目整除的数中最大的数。
PrivateSubCommand1_Click()
DimNAsInteger
DimsAsInteger
DimiAsInteger
ForN=300To100
Fori=1ToN
IfNModi=0Then
s=s+1
IfsModN=0Then
PrintN
ExitFor
NextN
ForN=300To100改为ForN=300To100Step-1
IfsModN=0Then改为IfNMods=0Then
【第5题】若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。
求最小的四位双平方数。
程序中有行两有错误。
DimaAsInteger,bAsInteger,cAsInteger,dAsInteger,xAsInteger
Forx=1000To9999
a=Int(x/1000)
b=Int(x/100)–a*100
c=Int(x/10)–a*100–b*10
d=x–a*1000–b*100–c*10
IfSqr(x)=Int(Sqr(x))AndSqr(a+b+c+d)=Sqr(a+b+c+d)Then
b=Int(x/100)–a*100改为b=Int(x/100)–a*10
或b=x\100mod10
Sqr(a+b+c+d)=Sqr(a+b+c+d)改为:
Sqr(a+b+c+d)=Int(Sqr(a+b+c+d))
【第6题】下面程序的功能是:
用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。
π/4=1-1/3+1/5-1/7+…
PrintFormat(fun(0.0001),"
#.####"
)
PrivateFunctionfun(numAsSingle)AsSingle
DimsAsInteger,nAsInteger
DimpiAsSingle,tAsSingle
pi=0:
t=1:
s=1:
n=1
While(t>
=num)
pi=pi+t
n=n+2
s=-s
t=s%n
pi=pi*4
fun=pi
pi=pi+t改为pi=pi+t*s
t=s%n改为t=1/n
【第7题】有这样一个三位数,其尾数不大于2。
若将尾数移到首位后(其余二个数字次序不变,依次后推),新三位数将是原三位数的两倍多。
求这个三位数。
程序中有错误,改正错误,使程序能输出正确的结果。
Dimi%,j%,k%,n%,m%
Fori=1To9
Forj=0To9
Fork=1To9
n=100*i+10*k+j
m=100*k+10*j+i
Ifn>
=2*mOrn<
=3*mThenPrintm
Nextk
Nextj
Fori=1To9改为Fori=1To2
=3*mThen改为:
=2*mandn<
=3*mThen
三、程序设计
【第1题】编写程序,求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0~9之间的一位整数。
【参考答案】
Functionfun()AsInteger
DimiAsInteger,jAsInteger,kAsInteger,nAsInteger
Forj=0To9
Fork=1To9
If101*(i+k)+20*j=1333Thenn=n+1:
Printi;
j;
k,
Next
Next
fun=n
EndFunction
【第2题】问[100,200]之间有奇数个不同因子的整数共有多少个?
分析:
因M=XY,故因子总是成对出现的,除非X=Y。
即:
只有完全平方数才有奇数个因子。
[100,200]之间平方数从102到142共5个。
【第3题】求[500,2500]之间按递增顺序的素数中的第25大的素数。
DimkAsLong,nAsLong,iAsLong
Fork=503To2500Step2
Fori=2ToSqr(k)
IfkModi=0ThenExitFor
Ifi>
Sqr(k)Then
n=n+1
Ifn=25ThenExitFor
EndIf
Printk
【第4题】A,B,C三个正整数,当满足1/A2+1/B2=1/C2关系时,称为倒勾股数。
求130<
A+B+C<
150的倒勾股数有多少组。
说明:
为避免分数运算产生误差,将1/A2+1/B2=1/C2等式转化为A2B2=(A2+B2)C2
DimaAsLong,bAsLong,cAsLong,nAsLong
Fora=2To150
Forb=2To150
Forc=1Tob-1
Ifa+b+c>
130Anda+b+c<
150Then
Ifa*a*b*b=c*c*(a*a+b*b)Thenn=n+1:
Printn
【第5题】已知正整数A,B(假定A<
B),满足A*B=5432,求S=A+B的最小值。
当AB为定值时,A与B越接近,A+B越小。
DimaAsLong
a=Sqr(5432)
While5432Moda
a=a+1
Printa+5432/a
【第6题】编程求四位数的偶数中,各位数字之和是6的倍数的数的和。
DimkAsLong,sAsLong
Fork=1000To9998Step2
If(k\1000+(k\100Mod10)+(k\10Mod10)+kMod10)Mod6=0Thens=s+k
Prints
【第7题】编程统计满足以下条件的四位数的个数。
该四位数是一个完全平方数,其第1位与第3位数字之和为12,第2位与第4位数字之积为24。
DimkAsLong,nAsLong,tAsLong
Fork=32To99'
四位数的平方数最小的是322,最大的是992。
t=k*k
Ift\1000+(t\10Mod10)=12And(t\100Mod10)*(tMod10)=24Thenn=n+1
【第8题】编写程序,统计200~300之间的所有满足三个数字之积为24,三个数字之和为10的数的个数。
这三个数字只能是2、2、6。
满足条件的数的个数为2个:
226、262。
Fort=200To300
If(t\100)*(t\10Mod10)*(tMod10)=24Then
If(t\100)+(t\10Mod10)+(tMod10)=10Thenn=n+1EndIf
【第9题】求一正整数等差数列前三项和,该数列前四项之和是26、之积是880。
880=2*5*8*11。
数列为2,5,8,11,14,17,…
DimaAsLong,dAsLong
Fora=1To5'
首项搜索:
前四项和为4a+6d=26,知a<
6
Ford=1To4'
公差搜索:
前四项和为4a+6d=26,知d<
5
If4*a+6*d=26Anda*(a+d)*(a+2*d)*(a+3*d)=880ThenGoToRR
RR:
Print3*a+3*d'
输出前三项和
【第10题】从100米高度落下一球,每次落地后反弹高度为上一次下落高度的3/4,求该球第10次落地时,前后所经过的路径长度.
设第k次反弹高度为h,第k次落地时经过的总路径为s,则第k+1次反弹高度为3h/4,第k+1次落地时经过的总路径为s+2h。
DimhAsSingle,sAsSingle,kAsLong
s=100:
h=100*3/4'
k=1时
Fork=2To10
s=s+2*h
h=h*3/4
【第11题】
当n=20时,求S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)的值。
要求:
按四舍五入的方式精确到小数点后第二位。
设第k项为x,则第k+1项为x+(k+1)0.5。
DimxAsSingle,sAsSingle,kAsLong
x=1:
s=1
Fork=2To20
x=x+Sqr(k)
s=s+x
PrintFormat(s,"
#.##"
注意:
不能使用round函数进行四舍五入。
Clng、Round之类的函数遇到5时总是使上一位为偶数。
如:
Clng(3.5)=Clng(4.5)=4;
Round(3.45,1)=Round(3.35,1)=3.4。
实数赋值给整型变量也有类似情况:
x=3.5:
y=4.5结果是x=y=4。
【第12题】
已知Fibonacci数列:
1,1,2,3,5,8,……,它可由下面公式表述:
F
(1)=1
F
(2)=1
F(n)=F(n-1)+F(n-2)n>
2
试求F
(2)+F(4)+F(6)+……+F(50)值。
y=1:
Fork=1To24'
每次求两项
y=x+y:
x=y-x
s=s+y
循环部分也可写为:
x=x+y:
y=x+y
【第13题】求[500,1999]之间的十位数字为7的素数的个数。
DimiAsLong,kAsLong,nAsLong
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南省 计算机 二级 考试 VB 题库
![提示](https://static.bingdoc.com/images/bang_tan.gif)