版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VB開發(fā)環(huán)境與VB概述習(xí)題答案
習(xí)題
一、選擇題
1.2.3.4.5.6.7.8.9.10.
BAABDBAACB
11.12.13.14.
CDAD
常用控件與界面設(shè)計(jì)習(xí)題答案
習(xí)題
、選擇題
1.2.3.4.5.6.7.8.9.10.
CBCAABBBCC
11.12.13.14.15.16.17.18.19.20.
BBDABBBCCD
21.22.23.24.25.26.27.28.29.30.
BBBCCCABBC
31.32.33.34.35.36.37.38.39.40.
BCBBDBDDBA
41.42.43.44.45.46.47.48.49.50.
BABBDAABDC
51.52.53.54.55.56.57.58.59.60.
DDCDDCACCB
61.
B
第三章實(shí)驗(yàn)與習(xí)題
實(shí)驗(yàn)
實(shí)驗(yàn)3_1
,算術(shù)運(yùn)算
PrivateSubCommandl_Click()
ConstaAsSingle=3,bAsSingle=2,cAsSingle=-1,d
AsSingle=6
DimxAsSingle,yAsSingle,zAsSingle,mAsSingle
x=2:y=1:z=1:m=1
ListLClear
ListLAddltema/(b+c/b)
ListLAdditem(x+Sqr(xA2+1))A(1/3)
ListLAddltem((2*y)/(a*x+b*y)*(a*x-b*y))
Listl.Addlteml+l/(l+l/m)
ListLAddltem1/2*(d/3)A(2*x)
Listl.AdditemLog(y+Cos(x)A2)
ListLAddltemAbs((Exp(x)+Sin(x)A3)/(x+y))
Listl.AddltemLog((Exp(x*y)+Abs(l/Tan(z)+Cos(x)
人3))/(x+y-z))
ListLAddltemSin(45*3.1415/180)+(Exp(10)+
Log(10))/Sqr(x+y+1)
Listl.AddltemLog(a)/Log(b)
EndSub
,關(guān)系運(yùn)算
PrivateSubCommand2_Click()
ListLClear
Listl.AddltemMid(HVisualBasic11,1,12)=
Right("LanguageVisualBasic”,12)
Listl.AddltemHABCRGH>=nabcdeH
Listl.AddItemInt(134.69)>=CInt(134.9)
ListLAddltem78.9/32.77<=97.5/43.87And-45.4>
-4.98
ListLAddltemStr(32.345)=CStr(32.345)
EndSub
,邏輯運(yùn)算
PrivateSubCommand3_Click()
DimxAsInteger;yAsInteger
DimClAsInteger,C2AsInteger,C3AsInteger
Cl=70:C2=80:C3=90
x=9:y=-2
Listl.Clear
Listl.Addltemx+y<10Andx-y>0
Listl.Addltem(x%>=0Andy%>=0)Or(x%<0And
y%<0)
Listl.Addltemx=0Xory=0
Listl.AddltemCl+C2+C3>=255OrCl>90And
C2>90AndC3>80
EndSub
實(shí)驗(yàn)3_2
略
實(shí)驗(yàn)3_3
略
實(shí)驗(yàn)3_4
,零售結(jié)算
PrivateSubCommandl_Click()
DimdjAsSingle,siAsSingle,jeAsSingle,nAsInteger
Labell.Caption="金額:”
dj=InputBox("請(qǐng)輸入商品的單價(jià):“,“單價(jià)框”)
si=InputBox("請(qǐng)輸入商品的數(shù)量:“,“數(shù)量框”,1)
je=dj*si
n=MsgBox(n共計(jì)金額="&je,vbOKCancel+
vblnformation,"結(jié)果”)
Ifn=vbOKThenLabell.Caption="金額:”&Str(je)
&”元”
EndSub
,產(chǎn)生隨機(jī)數(shù)
PrivateSubCommand2_Click()
DimmAsInteger,nAsInteger
DimxlAsInteger,x2AsInteger,x3AsInteger
m=Val(Textl.Text):n=Textl.Text
Randomize
xl=Int(Rnd*(n-m+1)+m)
x2=Int(Rnd*(n-m+1)+m)
x3=Int(Rnd*(n-m+1)+m)
Label4.Caption="結(jié)果為:"&Str(xl)&Str(x2)&
Str(x3)
EndSub
,求逆序數(shù)
PrivateSubCommand3_Click()
DimaAsInteger,hAsInteger,tAsInteger,nAsInteger
Randomize
a=Int(Rnd*(999-100+1)+100)
h=Mid(CStr(a),1,1)
t=Mid(CStr(a),2,1)
n=Right(CStr(a),1)
Label5.Caption=a&&Format(n*100+t*10
+h,”000”)
EndSub
實(shí)驗(yàn)3_5
習(xí)題
選擇題
1.2.3.4.5.6.7.8.9.10.
DBBDBDDBCA
11.12.13.14.15.16.17.18.19.20.
DDDCDDBADB
21.22.23.24.25.26.27.28.29.30.
DCDAABAACA
31.32.33.34.35.36.37.38.39.40.
BCADABBBCD
41.42.43.44.45.46.47.48.49.50.
BCBDCCADBA
51.52.53.54.55.56.57.58.59.60.
CBDDDABAAA
61.62.63.64.65.66.67.68.69.70.
BBCABBDAAA
71.72.73.74.75.76.77.78.79.80.
CBBDDCBDAD
81.82.83.84.85.86.87.88.89.
CBDBBBADC
填空題
1、2-32768?32767
2、整型長(zhǎng)整型單精度雙精度
3、0False
4、Chr(Int(Rnd*(Asc(“L”)-Asc("C”))+Asc(“C”)))
x>0Andy>0Orx<0Andy<0
c>="a"Andcv="z"Orc>="A"Andcv="Z"
x>=10Andx<20
x<zXory<z
5、False
2
True
False
True
True
True
True
6、188
200100
68.56
876554
7、a=lb=l
a=2b=l
a=3b=l
a=4b=l
8、YMod4=0AndYMod100<>0OrYMod400=0
9、HeSaid,“Goodmorning^^.
10、EDEF
11>(A>0AndA<>Int(A))And(B<0AndB<>Int(B))
12、a+b+c+d
(a+b+c+d)/4
sum
aver
13、(f-2*h)/2
(4*h-f)/2
簡(jiǎn)答題
1、略
2、PrivateSubForm_Click()
Constg=9.8
DimVOAsSingle,tAsSingle
DimSAsSingle
VO=InputBox(”請(qǐng)輸入VO的值:”)
t=InputBox("請(qǐng)輸入時(shí)間t的值:”)
S=(l/2)*g*tA2+V0*t
MsgBox("位移量為:H&S)
EndSub
3、PrivateSubCommandl_Click()
Dim1AsSingle,wAsSingle,hAsSingle
DimsAsSingle
1=Textl.Text
w=Textl.Text
h=Text3.Text
s=(l*w+l*h+w*h)*2
Labell.Caption=s
EndSub
第四章選擇分支與循環(huán)
實(shí)驗(yàn)答案
實(shí)驗(yàn)4-1
方法一:x<=5;y
方法二:Is<=2;CaseElse
實(shí)驗(yàn)4-2
Shapel.BackColor=vbRed;
Inter=15;
Inter=Inter-l;
Inter;
實(shí)驗(yàn)4-3
b<c
b=a
a=k
實(shí)驗(yàn)4-4
方法二:s*n;t/s<10A-5
實(shí)驗(yàn)4-5
方法一:m>=l0A-4;(-l)A(n+l)*m
實(shí)驗(yàn)4-6
x2=x3;<10A-6
實(shí)驗(yàn)4-7
實(shí)驗(yàn)4-8
i+2*j+5*k=10;n
實(shí)驗(yàn)4-9
題目一:a)5
b)i=16p=12n=5
c)i=9p=8n=l
題目二:12010
實(shí)驗(yàn)4-10
N=1;S=N&"*3''&”+l"
實(shí)驗(yàn)4-11
Len(st);Ch=Lcase(ch);CaseElse;Mid(Char,I,l)&St
實(shí)驗(yàn)4-12
i\100;(iMod100)\10
習(xí)題
一、選擇題
1.2.3.4.5.6.7.8.9.
cCADABBDB
二、填空題
1.Is=0;1To10;Is>10
2.9
3.3;415
4.thisisabook;ThisIsABook
5.3;3;35
6.320
7.4
8.151
9.1;401;104
10.123;13;1
11.(3)
12.2024
13.1014
14.BAABCCBAABC
15.XModP=0;X=X+1;Find=FaIse
16.abs(t)<10A(-7);s+t
17.Mid(n,l,l)=Mid(n,2,l)AndMid(n,3,l)=Mid(n,4,l)
S=S+1
18.Mid(n,i,l)>Mid(n,i+l,l)
19.“輸入n”;N/I=0;PrintI
第五章數(shù)組
實(shí)驗(yàn)
5_1
Int(90*Rnd)+10
a(i)=a(21-i)
a(21-i)=t
5_2
k=xMod10
i=i+1
53
5_4
max<a(i,j)
row=I
col=j
5_5
1
ReDimPreserveprime(m)
prime(j)
5_6
dMod2
5_7
ExitFor
a(j+1)=a(j)
5_8
N-I
A(j)=A(j+l)
5_9
A(i,1)
J
Min=Max
NotFlag
5_10
ch>="0"Andch<=H9H
P=P&ch
ReDimPreserveC(k)
5_H
PrivateSubForm_Click()
DimxAsInteger,iAsInteger,kAsInteger;jAsInteger
Dima()AsInteger
x=InputBox("輸入正整數(shù)x=")
i=2
Printx;”的質(zhì)因子為:";
DoWhilex>=i
IfxModi=0Then
k=k+1
ReDimPreservea(k)
a(k)=i
x=x\i
Else
i=i+1
EndIf
Loop
Forj=1ToUBound(a)
Printa(j);
Nextj
EndSub
習(xí)題
-選擇題
1.2.3.4.5.6.7.8.9.10.
ACDCBDDBDB
11.12.
BD
二填空題
1.Variant
2.ReDimA(N)
A(l)
IfM<A(I)ThenM=A⑴
3.Int(26*Rnd)+65
Chr(t)
i+1To10
A(i)>A(j)
4.InStr(s,n,n)
Right(s,Len(s)-n)
s
5.456
654
321
6.T-l
1+1
7.k=6-i-j
max=m
8.j=a
j=j-3
9.i+1
i=i+1
10.2
3
7
三編程題
1.
OptionExplicit
OptionBase1
PrivateSubCommandl_Click()
Dima(10)AsInteger
DimiAsInteger,maxAsInteger
Fori=1To10
a(i)=Int(90*Rnd)+10
Printa(i);
Nexti
i=1
max=0
DoWhilei<=10
Ifa(i)Mod3=0Then
Ifa(i)>maxThen
max=a(i)
EndIf
EndIf
i=i+1
Loop
Ifmax=0Then
Print”無要找的數(shù)”
Else
Printmax&”是最大的能被3整除的數(shù)”
EndIf
EndSub
2.
OptionExplicit
OptionBase1
PrivateSubCommandl_Click()
DimAOAsInteger
DimIAsInteger,mAsInteger
DimKAsInteger
ReDimA(10)
ForI=1To10
A(I)=I
PrintA(I);
NextI
m=InputBox(HEaEemn)
K=9+m
ReDimPreserveA(K)
ForI=11ToK
A(I)=A(I-10)
NextI
ForI=1To10
A⑴=A(I+m-l)
NextI
ForI=1To10
PrintA(I);
NextI
EndSub
3.
OptionExplicit
PrivateSubCommandl_Click()
DimIAsInteger,JAsInteger,KAsInteger
Dima()AsInteger,nAsInteger,pAsInteger
DimsAsString,FlagAsBoolean
p=1
ForK=10To100
1=1
DoWhileI<=10AndNotFlag
J=1
DoWhileJ<=10AndNotFlag
n=IA2+JA2
Ifn=KThen
Flag=True
ReDimPreservea(p)
a(p)=K
p=p+1
s=I&Str(J)&Str(K)
Listl.Addltems
EndIf
J=J+1
Loop
1=1+1
Loop
Flag=False
NextK
EndSub
4.
OptionExplicit
PrivateSubCommandlClickQ
DimA(10)AsInteger
DimB(10)AsInteger,SAsString
DimIAsInteger,JAsInteger,XAsInteger
A⑴=Int(90*Rnd)+10
S=A(1)
ForI=2To10
Do
X=Int(90*Rnd)+10
ForJ=lToI-l
IfX=A(J)ThenExitFor
NextJ
IfJ=IThen
A(I)=X
S=S&Hn&A(I)
ExitDo
EndIf
Loop
NextI
Textl.Text=S
B(l)=Int(90*Rnd)+10
S=B(l)
ForI=2To10
Do
X=Int(90*Rnd)+10
ForJ=lToI-l
IfX=B(J)ThenExitFor
NextJ
IfJ=IThen
B(I)=X
S=S&nM&B(I)
ExitDo
EndIf
Loop
NextI
Textl.Text=S
s=,,,,
ForI=1To10
ForJ=1To10
IfA(I)=B(J)Then
S=S&HH&A(I)
EndIf
NextJ
NextI
Text3.Text=S
EndSub
PrivateSubCommand2_Click()
Textl.Text=
Textl.Text=
Text3.Text=
Textl.SetFocus
EndSub
5.
OptionExplicit
PrivateSubCommandl_Click()
DimIAsInteger,JAsInteger
Dima()AsInteger,KAsInteger,SumAsInteger
K=Val(Textl.Text)
1=1
Do
J=KMod10
ReDimPreservea(I)
a(I)=J
Sum=Sum+J
K=K\10
1=1+1
LoopUntilK=0
Textl.Text=Sum
EndSub
6.
OptionExplicit
PrivateSubCommandl_Click()
Dima(100,2)AsInteger,KAsInteger
DimIAsInteger,JAsInteger
DimMAsInteger,NAsInteger
K=1
ForI=1To99
ForJ=1To99
Ifl>JThen
M=I-J
N=I+J
IfSqr(M)=Int(Sqr(M))AndSqr(N)
Int(Sqr(N))Then
ListLAdditemI&nn&J
a(K,1)=I
a(K,2)=J
K=K+1
EndIf
EndIf
NextJ
NextI
EndSub
第六章參考答案
實(shí)驗(yàn)
實(shí)驗(yàn)6-1
1、ExitDo
2、Y(X)
3、X>=-1
實(shí)驗(yàn)6-2
【題目二】42、26、8
實(shí)驗(yàn)6-3
1、si,key
2、sAsString
3、ch>="a"Andch<="z"
4、Mid(s,i,1)=Chr(Asc(ch)+k-26)
思考:解密函數(shù)
PrivateSubdec(sAsString,kAsInteger)'解密過
程
DimiAsInteger,chAsString*1
Fori=1ToLen(s)
ch=Mid(s,i,1)
If<=chAndch<=Then
IfAsc(ch)-k<Asc(HAH)Then
Mid(s,i,1)=Chr(Asc(ch)-k+26廠小
于A的ASCII值則加上26
Else
Mid(s,i,1)=Chr(Asc(ch)-k)
EndIf
Elselfch>="a"Andch<="z"Then'多分
支格式,ch介于小寫a與z之間
IfAsc(ch)-k<Asc("an)Then
Mid(s,i,1)=Chr(Asc(ch)-k+26)
于a的ASCII值則加上26
Else
Mid(s,i,1)=Chr(Asc(ch)-k)
EndIf
EndIf
Nexti
EndSub
實(shí)驗(yàn)6-4
1、bOAsInteger,stAsString
2、L<=R
3、ReDimPreserveb(R)
4、L=L+1
輾轉(zhuǎn)相除法求最大公約數(shù)函數(shù)
PrivateFunctionGcd(ByValpAsInteger,ByVaiqAs
Integer)AsInteger
DimrAsInteger
r=pModq
DoWhiler<>0
p=q
q=r
r=pModq
Loop
Ged=q
EndFunction
實(shí)驗(yàn)6-5
【題目一】
age=age(n-1)-3
【題目二】
1、(Left+Right)/2
2、Left=Mid+1
實(shí)驗(yàn)6-6
1、3-1
2、74
3、3-1
4、70
實(shí)驗(yàn)6-7
【題目一】
1、Sqr(2+1)
2、Abs(a-1)<eps
【題目二】
1、DimXAsInteger
2、HS(H&I&”尸"&S(I)
3、(j*i+l)
習(xí)題參考答案
一選擇題
1.2.3.4.5.6.7.8.9.10.
BDCCDBBBAD
11.12.13.14.15.16.17.18.19.20.
DAAABBDCDB
21.22.23.24.25.26.27.28.
CCBADDAB
二、填空
1(1)形式____________(2)實(shí)在__________
2(1)按地址傳遞(2)ByVai_________
3(1)窗體模塊________(2)標(biāo)準(zhǔn)模塊、(3)
類模塊
4(1)6
5(1)420101
6(1)_626—、(2)-298
7(1)_106—、(2)5-5
8(1)_65—、(2)87
9(1)_11—、(2)7
10(1)Fun⑴、(2)Fun=p
11(1)4、(2)20.7
12(1)29、(2)28.7
13(1)k=i、(2)b。AsInteger
14(1)1ec、(2)ee>(3)3
15(1)pl=TrueAndp2=True或plAndp2、(2)
pl=p2-2、
(3)Isp=True、(4)mModi=0
16(1)Converter、(2)Len(s)、
(3)“A”To"F"、(4)k=k+p*h
17(1)isualVi、(2)sualVisu
18(1)s+a、(2)n+1、
(3)xAsSingle,nAsInteger、(4)p*(x+i)/((2
*i-1)*i*x)
三、改錯(cuò)題
1、
OptionBase1
PrivateSubCommandl_Click()
DimA()AsInteger,IAsInteger,JAsInteger,LogicAs
Boolean
DimKAsInteger
ReDimA(l)
A(l)=50
-------------------------'K=l
ForI=51To149
K=1,位置錯(cuò)
Logic=False
CallSubl(A,I,Logic)
IfLogicThen
K=K+1
ReDimA(K)'ReDimPreserveA(K)
A(K)=I
EndIf
NextI
ForI=1ToUBound(A)
Textl=Textl&Str$(A(I))
IfIMod5=0ThenTextl=Textl&vbCrLf
NextI
EndSub
PrivateSubSubl(A()AsInteger,NAsInteger,FAsBoolean)
DimIAsInteger,JAsInteger,UbAsInteger
Ub=UBound(A)
ForI=1ToUb
ForJ=2ToA(I)
IfA(I)ModJ=0AndNModJ=0Then
ExitFor*ExitSub
EndIf
NextJ
F=True
NextI
EndSub
2、
OptionExplicit
OptionBase1
PrivateSubCommandl_Click()
DimIAsInteger,FigAsBoolean,SIAsInteger,S2As
Integer
DimJAsInteger,KAsInteger,P()AsInteger
ReDimP(l)
P(l)=2
ForI=3To150Step2
ForJ=2ToSqr(I)
IfIModJ=0ThenExitFor
NextJ
IfJ>Sqr(I)Then
ReDimPreserveP(UBound(P)+1)
P(UBouiid(P)+1)=I
?P(UBound(P))=I
EndIf
NextI
ForI=80To125
IffunCI,P,S1,S2)ThenIffun(I,P,SI,
S2)
Textl=Textl&Str$(I)&&Str(Sl)&
&Str$(S2)&vbCrLf
EndIf
NextI
EndSub
PrivateFunctionfun(NAsInteger,P()AsInteger,SIAs
Integer,S2AsInteger)AsBoolean
DimIAsInteger,JAsInteger
ForI=1ToUBound(P)
ForJ=1ToUBound(P)-1
IfN=P(I)*P(J)Then
SI=P(I)
S2=P(J)
____________,fun=True
ExitFunction
fun=True,位置錯(cuò)
EndIf
NextJ
NextI
EndFunction
3、
OptionExplicit
PrivateSubGet_Chess(ChessOAsInteger,idxAsInteger,
OverAsInteger)'ByVaiidxAsInteger
DimUbAsInteger,CounterAsInteger,KAsInteger
Ub=UBound(Chess)
Chess(idx)=0
Counter=1
K=0,位置錯(cuò)
DoUntilCounter=Ub-1
DoUntilK=2
idx=idx+1
Ifidx>UbThenidx=1
K=K+Chess(idx)
Loop
Chess(idx)=0
Counter=Counter+1
Loop
ForOver=1ToUb
IfChess(Over)<>0ThenExitFor
NextOver
EndSub
PrivateSubCommandl_Click()
DimChess(32)AsInteger,IAsInteger,JAsInteger
DimKAsInteger,idxAsInteger
ForI=1To32
ForJ=1To32
Chess(J)=1
NextJ
CallGet_Chess(Chess,I,K)
IfK=23Then
Textl="從第"&&”號(hào)棋子開始取”
ExitFor
EndIf
NextI
EndSub
5、
OptionExplicit
PrivateSubForm_Click()
DimSAsString,FigAsBoolean
Do
S=InputBox("輸入一個(gè)自然數(shù)”)
IfS=HHOrNotIsNumeric(S)Then
MsgBox”請(qǐng)重新輸入”,48+vbOKOnly
Else
ExitDo
EndIf
Loop
iudge(S,Fie)'Calljudge(S,Fig)或
judgeS,Fig
IfFigThen
PrintS;”是回文數(shù)”
Else
PrintS;”不是回文數(shù)”
EndIf
EndSub
PrivateSubjudge(ChAsString,FAsBoolean)
DimLAsInteger,IAsInteger
L=Len(Ch)
F=True'F=False
ForI=1ToL
IfMid$(Ch,I,1)<>Mid$(Ch,L+1-I,1)Then
ExitSub
NextI
F=Fake'F=True
EndSub
四、編程題
1、編程驗(yàn)證任一大于2的偶數(shù)可以表示成兩個(gè)素?cái)?shù)之和。
PrivateFunctionPrime(aAsInteger)AsBoolean
DimiAsInteger
Fori=2ToSqr(a)
IfaModi=0ThenExitFunction
Nexti
Prime=True
EndFunction
,方法一
PrivateSubCommandl_Click()
DimmAsInteger,iAsInteger
m=InputBox("請(qǐng)輸入一個(gè)大于2的偶數(shù)”)
Ifm<=2OrmMod2<>0ThenMsgBox”請(qǐng)輸入大于
2的偶數(shù)”:ExitSub
IfPrime(2)AndPrime(m-2)Then
Printm&”=2+”&m-2
Else
Do
i=i+1
IfPrime(2*i+1)AndPrime(m-(2*i+1))
Then
Printm&&2*i+l&&m-(2
*i+l)
ExitDo
EndIf
LoopWhile2*i+l〈m-(2*i+l)
EndIf
EndSub
方法二
PrivateSubCommand2_Click()
DimmAsInteger,iAsInteger,p()AsInteger,nAs
Integer
DimfigAsBoolean
m=InputBox(”請(qǐng)輸入大于2的偶數(shù)”)
Ifm<=2OrmMod2<>0ThenMsgBox”請(qǐng)輸入大于
2的偶數(shù)”:ExitSub
ReDimp(l)
P(l)=2
n=1
Fori=3Tom-2Step2
IfPrime(i)Then
n=n+1
ReDimPreservep(n)
P(n)=i
EndIf
Nexti
Fori=1Ton
Forj=1Ton
Ifp(i)+p(j)=mThen
Printm&&p(i)&&p(j)
flg=True
ExitFor
EndIf
Nextj
Ifflg=TrueThenExitFor
Nexti
EndSub
2、求組合數(shù)就扁y(n>=m),程序中必須包含一個(gè)求階
乘的通用過程。
PrivateFunctionFact(aAsInteger)AsLong
Ifa=0Ora=1Then
Fact=1
Else
Fact=a*Fact(a-1)
EndIf
EndFunction
PrivateSubCommandl_Click()
DimnAsInteger,mAsInteger,resultAsSingle
n=Val(Textl.Text)
m=Val(Text2.Text)
Ifn>=mThen
result=Fact(n)/Fact(m)/Fact(n-m)
Text3.Text=result
Else
MsgBox”要求n>=m,請(qǐng)重新輸入“
Textl.Text=
Textl.Text=
Textl.SetFocus
EndIf
EndSub
PrivateSubCommand2_Click()
Textl.Text=
Text2.Text=
Text3.Text=
Textl.SetFocus
EndSub
3、編寫一個(gè)查找10到300之間所有同構(gòu)數(shù)的程序,程序中
必須包含一個(gè)判定某數(shù)是否是同構(gòu)數(shù)的Function過程Istgso
若一個(gè)數(shù)出現(xiàn)在自己平方數(shù)的右端,則此數(shù)為同構(gòu)數(shù)。如5
在52=25的右端,25在25?=625的右端,故5和25為同構(gòu)
數(shù)。
PrivateFunctionIstgs(nAsInteger)
AsBoolean
DimsAsString,LAsInteger
L=Len(CStr(n))
s=CStr(nA2)
IfRight(s,L)=nThenIstgs=True
EndFunction
PrivateSubCommandl_Click()
DimnAsInteger
Forn=10To300
IfIstgs(n)ThenListLAddltemn&"人2"&&
nA2
Nextn
EndSub
PrivateSubCommand2_Click()
End
EndSub
4、編寫程序,隨機(jī)生成一個(gè)由三位正整數(shù)組成的3行4列
的數(shù)組,求數(shù)組每一行的最大元素及其所在列號(hào),程序中必
須包含一個(gè)求一行中最大元素及其所在列號(hào)的通用過程。
(若一行中有多個(gè)最大元素則取其中之一即可)
PrivateSubCmdDispCIickQ
Dima(3,4)AsInteger,iAsInteger,jAsInteger
DimmAsInteger,mj
Integer
Randomize
Fori=1To3
Forj=1To4
a(i,j)=Int(900*Rnd+100)
Printa(i,j);
Nextj
Nexti
Fori=1To3
m=0
Callmax(a,i,m,mj)
Print"第“&i&”行最大值為“&m&”,在第”&
mj&”列”
Nexti
EndSub
PrivateSubmax(a()AsInteger,iAsInteger,mAsInteger,
maxjAsInteger)
DimjAsInteger
m=a(i,1):maxj=1
Forj=2ToUBound(a,2)
Ifa(i,j)>mThen
m=a(i,j)
maxj=j
EndIf
Nextj
EndSub
PrivateSubCmdEnd_Click()
End
EndSub
5、一個(gè)整數(shù)N的因子和(不包括N)等于N,則N被成為
完全數(shù)。例如,28=1+2+4+7+14,28是完全數(shù)。編寫程序驗(yàn)
證:介于10到10000之間的完全數(shù),把它們的各位數(shù)字加
起來得到一個(gè)數(shù),再把這個(gè)數(shù)的各位數(shù)字加起來又得到一個(gè)
數(shù),一直做下去,直到得到一個(gè)一位數(shù),這個(gè)數(shù)是1,程序
中必須包含一個(gè)判定某數(shù)是否是完全數(shù)的過程。例如,28
的各位數(shù)字加起來得到一個(gè)數(shù)10,再把10這個(gè)數(shù)的各位數(shù)
字加起來又得到一個(gè)數(shù)是lo
PrivateFunctionIsWqs(nAsInteger)AsBoolean
DimsumAsInteger,iAsInteger
Fori=1Ton/2
IfnModi=0Thensum=sum+i
Nexti
Ifsum=nThenIsWqs=True
EndFunction
PrivateSubCommandl_Click()
DimnAsInteger
DimsumAsInteger
Forn=10To10000
IflsWqs(n)Then
t=n
Printt;"=>”;
Do
sum=0
Fori=1ToLen(t)-1
sum=sum+Mid(CStr(t),i,1)
PrintMid(CStr(t),i,1);“+”;
Nexti
sum=sum+Mid(CStr(t),i,1)
Ifsum<>1Then
PrintMid(CStr(t),i,1);"=";sum;
"J;sum;
Else
PrintMid(CStr(t),i,1);sum;
EndIf
t=sum
LoopUntilsum=1
EndIf
Nextn
EndSub
PrivateSubCommand2_Click()
End
EndSub
6、找出500以內(nèi)的超完全數(shù),程序中必須包含一個(gè)判定某
數(shù)是否是超完全數(shù)的過程。設(shè)符號(hào)①(N)表示N的所有因
子的和(包括N在內(nèi)),若①(①(N))=2N,則N就是一
個(gè)超完全數(shù)。例如,16的因子和為1+2+4+8+16=31,而31
的因子為1+31=32,32=2*16,故16是一個(gè)超完全數(shù)。
PrivateFunctionJudge(nAsInteger)AsBoolean
DimsumAsInteger
sum=yz(n)
Ifyz(sum)=2*nThenJudge=True
EndFunction
PrivateFunctionyz(nAsInteger)AsInteger
DimiAsInteger
Fori=1Ton
IfnModi=0Thenyz=yz+i
Nexti
EndFunction
PrivateSubCommandl_Click()
DimnAsInteger
Forn=1To500
IfJudge(n)ThenPrintn
Nextn
EndSub
7、編寫程序,通過調(diào)用通用過程找出100以內(nèi)的所有不可
表示成兩個(gè)平方數(shù)之和的數(shù)。
PrivateFunctionpfh(nAsInteger)AsBoolean
DimiAsInteger,tAsSingle
Fori=1ToInt(Sqr(n))
t=n-iA2
IfSqr(t)=Int(Sqr(t))Thenpfh=True
Nexti
EndFunction
PrivateSubCommandlClickQ
DimnAsInteger,tAsInteger
Forn=1To100
Ifpfh(n)=FalseThen
t=t+1
Printn;
IftMod10=0ThenPrint
EndIf
Nextn
EndSub
8、編寫程序,通過調(diào)用通用過程找出30以內(nèi)所有的無平方
因子數(shù)。若一個(gè)數(shù)不能被大于1的數(shù)的平方整除,則該數(shù)就
是一個(gè)無平方因子數(shù)。
PrivateSubCommandl_Click()
DimnAsInteger,jAsInteger,figAsBoolean
Forn=2To30
fig=False
Forj=2Ton
Ifpfs(j)AndnModj=0Then
fig=True
ExitFor
EndIf
Nextj
Iffig=FalseThenPrintn;
Nextn
EndSub
PrivateFunctionpfs(nAsInteger)AsBoolean
IfSqr(n)=Int(Sqr(n))Thenpfs=True
EndFunction
9、編寫程序,通過調(diào)用通用過程驗(yàn)證下列命題:任意一個(gè)
正整數(shù)和其反序數(shù)相加,得到一個(gè)新的正整數(shù),再對(duì)這個(gè)新
整數(shù)重復(fù)上述步驟,最終一定可以得到一個(gè)回文數(shù)(例如,
正整數(shù)351,其反序數(shù)為153,351+153=504,504+405=909,
909是回文數(shù))。
,求反序數(shù)
PrivateFunctionfxs(nAsLong)AsLong
DimiAsInteger,sAs
String
Fori=1ToLen(CStr(n))
s=Mid(CStr(n),i,1)
Nexti
fxs=s
EndFunction
,判斷某數(shù)是否為回文數(shù)
PrivateFunctionHws(nAsLong)AsBoolean
DimiAsInteger,sAsString,LAsInteger
s=CStr(n):L=Len(s)
Fori=1ToLen(s)/2
IfMid(s,i,1)<>Mid(s,L+1-i,1)ThenExit
Function
Nexti
Hws=True
EndFunction
PrivateSubCommandl_Click()
DimxAsLong,tAsLong
x=InputBox(”請(qǐng)輸入一個(gè)正整數(shù):”)
t=x
DoWhileHws(t)=False
Printt;fxs(t);t+fxs(t)
t=t+fxs(t)
Loop
EndSub
10、找出1000以內(nèi)所有的奇妙平方數(shù),程序中必須包含一
個(gè)判定某事是否是奇妙平方數(shù)的過稱。所謂奇妙平方數(shù),是
指此數(shù)的平方與它的逆序數(shù)的平方互為逆序數(shù)。例如,
122=144,212=441,12與21互逆,144與441互逆,12就
是奇妙平方數(shù)。
,求反序數(shù)
PrivateFunctionfxs(nAsLong)AsLong
DimiAsInteger,sAsString
Fori=1To?我奇妙平方欺
奇妙平方數(shù):因?yàn)椋?/p>
21122=144212=441
Len(CStr(n))3113-2=16931*2=961
201102*2=10404201*2=40401
301103*2=10609301^2=90601
211112"2=12544211*2=44521
311113*2=12769311*2=96721
s=Mid(CStr(n),i,1)221122*2=14884221"2=48841
I:.笠叫5j
Nexti
fxs=s
EndFunction
PrivateSubCommandl_Click()
DimnAsLong,tAsLong
Forn=1To999
t=fxs(n)
IftA2=fxs(nA2)AndnMod10<>0Andn<t
Then
Listl.Additemn&H
List2.AddItemn&''人2"&&nA2&H
M&t&HA2H&n=n&tA2
EndIf
Nextn
EndSub
11、編寫程序,查找介于300?2000之間的所有只有兩個(gè)數(shù)
字相同的完全平方數(shù),程序中必須包含一個(gè)判定某數(shù)是否是
只有兩個(gè)數(shù)字相同的完全平方數(shù)的過程。所謂完全平方數(shù)是
指其平方根為整數(shù)的數(shù)。例如676、900、1521等都是介于
300?2000之間符合條件的數(shù)。
PrivateFunctionJudge(nAsInteger)AsBoolean
DimiAsInteger,LAsInteger,a(9)AsInteger,tAs
Integer
IfSqr(n)=Int(Sqr(n))Then
L=Len(CStr(n))
Fori=1ToL
t=Mid(CStr(n),i,1)
a(t)=1
Nexti
Fori=0To9
Sum=Sum+a(i)
Nexti?符合條件的完全平方數(shù)二[回區(qū)I
400
441
484
IfSum=L-1Then676
900
Judge=True
EndIf
EndFunction
PrivateSubCom
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國關(guān)鍵事件管理 (CEM) 平臺(tái)軟件行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國ATC主軸電機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 二零二五年度物流服務(wù)合同:某電商公司與某物流公司關(guān)于雙十一期間配送服務(wù)的合同3篇
- 二零二五年度無人機(jī)航拍數(shù)據(jù)保密合同3篇
- 二零二五年度UPS電源采購與智能運(yùn)維服務(wù)合同范本3篇
- 專利產(chǎn)品研發(fā)過程保密合同(2024年度)版B版
- 二零二五版出租車公司股權(quán)投資入股合同3篇
- 二零二五年電子商務(wù)股權(quán)三方轉(zhuǎn)讓及品牌合作協(xié)議
- 二零二五年度酒店布草綠色環(huán)保認(rèn)證與批發(fā)合同3篇
- 專業(yè)化石油鉆井作業(yè)協(xié)議范本(2024)版
- 《國有控股上市公司高管薪酬的管控研究》
- 餐飲業(yè)環(huán)境保護(hù)管理方案
- 人教版【初中數(shù)學(xué)】知識(shí)點(diǎn)總結(jié)-全面+九年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)教案
- 食品安全分享
- 礦山機(jī)械設(shè)備安全管理制度
- 計(jì)算機(jī)等級(jí)考試二級(jí)WPS Office高級(jí)應(yīng)用與設(shè)計(jì)試題及答案指導(dǎo)(2025年)
- 造價(jià)框架協(xié)議合同范例
- 糖尿病肢端壞疽
- 《創(chuàng)傷失血性休克中國急診專家共識(shí)(2023)》解讀課件
- 小學(xué)六年級(jí)數(shù)學(xué)100道題解分?jǐn)?shù)方程
- YY 0838-2021 微波熱凝設(shè)備
評(píng)論
0/150
提交評(píng)論