VB程序設(shè)計多試題及答案_第1頁
VB程序設(shè)計多試題及答案_第2頁
VB程序設(shè)計多試題及答案_第3頁
VB程序設(shè)計多試題及答案_第4頁
VB程序設(shè)計多試題及答案_第5頁
已閱讀5頁,還剩157頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

9、VisuaIBasic程序改錯

1.程序功能:求s=l+3+5+7+...直到s>2000為止。程EndSub

答案:and;wend

序中有兩行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。5.程序功能:求1到400間,同時能被3和7整除的

(2025)平方和數(shù)的個數(shù)。程序中有兩行有錯誤。改正錯誤,使它能輸

PrivateSubForm_Click()出正確的結(jié)果。(19)

DimiAsInteger,sAsLongPrivateSubForm_Click()

s=0:i=1DimcountAsInteger

DoUntilsv2000DimxAsInteger

s=s+iForx=1To400

i=i+1ifmod(x,3)=0aodmod(x、7)=0then

Loopcount=count+1

Printsendif

EndSubNextcount

答案:s>2000:i+2Printcount

2.程序功能:計算s=2!+4!+8!。程序中有兩行有錯誤。EndSub

改正錯誤,使它能輸出正確的結(jié)果。(40346)答案:xMod3=0AndxMod7=0;x

PrivateSubCommandl_Click()6.程序功能:求能被3整除且至少有一位數(shù)字為5的

DimkAsInteger,iAsInteger三位數(shù)的個數(shù)。程序中有兩行有錯誤。改正錯誤,使它

DimsAsLong,tAsLong能輸出正確的結(jié)果。(85)

s=0PrivateSubCommandl_Click()

i=1DimcountAsInteger

DoWhilei<=3DimaAsInteger,bAsInteger,cAsInteger

t=1DimxAsInteger

k=1x二100

Whilek<=2*idoWhilex<=999

t=t*kIfxMod3=0Then

k=k+1a=Int(x/100)

Wendb=Int((x-a*100)/10)

s=s+tc=x-a*100-b*10

i=i+1Ifa=5andb=5andc=5Then

wendcount=count+1

PrintsEndIf

EndSubEndIf

答案:k<=24;loopx=x+1

3.程序功能:計算s=2!+4!+6!+8!。程序中有錯誤。改wend

Printcount

正錯誤,使它能輸出正確的結(jié)果。(41066)

EndSub

PrivateSubCommandl_Click()

答案:a=5orb=5orc=5;loop

DimkAsInteger,iAsInteger

7.程序功能:求三位偶數(shù)中,個位數(shù)字與十位數(shù)字之

DimsAsLong,tAsLong

和除以10所得的余數(shù)是百位數(shù)字的數(shù)的個數(shù)。程序中

s=0:i=1

有兩行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。(45)

DoWhilei<=4

奇數(shù)都是45

t=1

PrivateSubCommandl_Click()

k=1

DimcountAsInteger

Whilek〈二2一i

DimaAsInteger,bAsInteger,cAsInteger

t=t*k

DimxAsInteger

k=k+1

count=0

Wend

x二100

s=s+t

Whilex<=999

i=i+1

a=Int(x/100)

wend

b=Int(x/10)-a*10

Prints

c=x-a*100-b*10

EndSub

IfMod(x,2)=0ormod(b+c,10)=aThen

答案:k<=2*i;loop

count=count+1

4.程序功能:求200到400間,能被3整除但不能被

EndIf

7整除的數(shù)的個數(shù)。程序中有兩行有錯誤。改正錯誤,

x=x+1

使它能輸出正確的結(jié)果。(57)

loop

PrivateSubCommandl_Click()

Printcount

DimcountAsInteger

EndSub

DimxAsInteger

答案:xMod2=0And(b+c)Mod10=a;wend

count=0

8.程序功能:求平方和小于2000的最大自然數(shù)。程序

x二200

中有兩行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。

Whilex<=400

(18)

IfxMod3=0orxMod700Then

PrivateSubFormClick()

count=count+1

DimxAsInteger

EndIf

DimsAsInteger

x=x+1s=0

Loop

x=0

Printcount

DoWhiles>=2000

x=x+2DimnAsInteger,iAsInteger,jAsInteger,kAs

S=S+X*XInteger

loopForn=100To999

Printxi=n/100'百位

EndSubi=Int(n/10)-1*10,十位

答案:s<=2000;x=x+1k=nMod10

9.程序功能:解百馬百瓦古題。大、小馬和馬駒共100Ifn=i*i*i+j*j*j+k*k*kThen

匹,共馱100片瓦。大馬一馱三,小馬一馱二,馬駒二number=numbre+1

馱一,一次馱完,三種馬都馱,共有多少種組合?程序EndIf

中有三行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。Nextn

(6)Printnumber

PrivateSubForm_Click()EndSub

DimxAsInteger,yAsInteger,zAsInteger答案:j=Int((n-i*100)/10);number=number+l

DimsAsInteger13.程序功能:求數(shù)列2/1,3/2,5/3,8/5,13/8,……

s=0的前10項之和。程序中有兩行有錯誤。改正錯誤,使

Forx=1To33它能輸出正確的結(jié)果。16.47991

Fory=1To50PrivateSubForm_Click()

z=100-x-yDimiAsInteger,tAsInteger,nAsInteger

If3*x+2*v+z/2olOOThenDimaAsInteger,bAsInteger

s=s+1DimsAsSingle

EndIfa=2:b=1:n=10:s=0

NextxFori=1Ton

Nextys=s+a/b

Printst=b

EndSuba=a+b

答案:3*x+2*y+z/2=100;Nexty;Nextxa二t

10.程序功能:求100-200之間的所有素數(shù)個數(shù),程序Nexti

中有兩行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。Prints

(21)EndSub

PrivateSubCommand1_Click()?t=a,b—t

謔贏偏子第天摘下若干桃子,當即吃掉一半,

Number=014.M1

Forx=101To199Step2又多吃一個,第二天將剩余的部分吃掉一半還多一個;

i=2以此類推,到第10天只剩余1個。問第1天共摘了多

k=Int(x/2)少桃子。程序中有兩行有錯誤。改正錯誤,使它能輸

DoWhilei<=k出正確的結(jié)果。1534

IfxModi=0ThenExitforPrivateSubForm_Click()

i=i+1DimdayAsInteger,sumAsInteger

Loopday=10:sum=1

Ifi<kThenDoWhileday>1

Number=Number+1sum-sum*2

EndIfday=day-1

NextxLoop

PrintNumberPrintsum

EndSubEndSub

答案:exitdo;i>k答案:day=10:sum=1:sum=(sum+1)*2

11.程序功能:sum=d+dd+ddd+..+ddd..d(d為1-9的15.程序功能:求1?200之間的能被7整除的數(shù)的平方

數(shù)字)。例如:3+33+333+3333(此時d=3,n=4)。從和。程序有兩處錯誤。改正錯誤,使它能輸出正確的

康蠢上輸入d的值為8,n的值為9,求sum的值。速結(jié)果。377986

序中有兩行有錯誤。改正錯誤,使它能輸出正確的結(jié)PrivateSubCommandlClick()

果。987654312DimxAsInteger

PrivateSubFormClick()DimsumAsInteger

DimdAsInteger,nAsInteger,iAsIntegerx二1

DimsumAsLongsum二0

sum=0Whilex<=200

d=Vai(InputBox(z,d:z,))IfxMod7=0

n=Vai(InputBox(〃n:"))sum=sum+x2

Fori=1TonEndIf

in=In+dX=X+1

sum=sun+inWend

NextiPrintsum

PrintsumEndSub

EndSub答案:DimsumAsDouble;IfxMod7=0Then

答案:tn二tn*10+d;sunFsum+tn16.程序功能:求「99的平方根的和并輸出結(jié)果。(保

12.程序功能:輸出水仙花的個數(shù)(所謂水仙花數(shù)是指一留小數(shù)點兩位),程序中有兩行有錯誤。改正錯誤,

個三位十進制數(shù),該數(shù)的各位數(shù)字立方之和等于該數(shù)使它能輸出正確的結(jié)果。661.46

本身。例如153是一個水仙花數(shù),因為PrivateSubCommand1_C1ick()

「3+5-3+3-3=153)程序中有兩行有錯誤。改正錯誤,DimxAsInteger

使它能輸出正確的結(jié)果。4DimsumAsinteger

PrivateSubFormCiick()x=1

DimnumberAsIntegerDoWhilex<=99

sum=sum+Sqrt(x)

X=X+1答案:x=x*2;loopuntils>9000

Loop21.程序功能:已知24有8個正整數(shù)因子(即:

PrintRound(sum,2)1,2,3,4,6,8,12,24),而24正好被其因子個數(shù)8整除。

EndSub問[100,300]之間有多少個這樣的數(shù)。程序中有兩行有

答案:DimsumAsSingle;sum=sum+Sqr(x)錯誤。改正錯誤,使它能輸出正確的結(jié)果。19

17.程序功能:求[1,5000]內(nèi)能被5整除的前若干個偶數(shù)PrivateSubCommandl_Click()

之和,直到和大于50000為止。程序中有兩行有錯誤。DimnlAsInteger,n2AsInteger

改正錯誤,使它能輸出正確的結(jié)果。50500DimxAsInteger

PrivateSubCommand1_C1ick()DimiAsInteger

DimxAsIntegern2=0

DimsAsLongForx=100To300

x=2nl=0

DoWhilex<=5000Fori=1To100

IfxMod5=0ThenIfxModi=0Then

S=S+Xnl=nl+1

Ifs>50000ThenEndIf

ExitforNexti

EndIfIfxModnl=0Then

EndIfn2=n2+1

x=x+2EndIf

LoopNextx

PrintsPrintn2

EndSubEndSub

答案:exitdo(只有一處有錯)an]二0,x

18.程序功能:求3000以內(nèi)能被17或23整除的正整數(shù)22.程有功'能:我國今年的國民生產(chǎn)總值為45600億元,

的個數(shù)。程序中有兩行有錯誤。改正錯誤,使它能輸若今后每年以9%的增長率增長,計算多少年后能實現(xiàn)

出正確的結(jié)果。299國民生產(chǎn)總值翻一番?程序中有兩行有錯誤。改正錯

PrivateSubCommandl_Click()誤,使它能輸出正確的結(jié)果。9

DimxAsIntegerPrivateSubCommandl_Click()

DimcountAsIntegerDimpAsLong,plAsLong

Forx=1To3000Step」DimnAsInteger

IfxMod17=0andxMod23=0Thenn=0

count=count+1pl=45600

EndIfP=Pl

NextxDo

PrintcountD=D*(1+9)

EndSubn=n+1

答案:1jorLoopUntilp_<2*pl

19.短用功能:已知一個數(shù)列的前3項為0,0,1,以后Printn

每項為前3項的和,求此數(shù)列的第36項。程序中有兩EndSub

行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。答案:p=p*(1+0.09);>=

33474577723.程序功能:已知24有8個正整數(shù)因子

PrivateSubCommand1Click()(即:1,2,3,4,6,8,12,24),而24正好被其因子個數(shù)8

DimaAsLong整除。求[100,300]之間能被其因子數(shù)目整除的數(shù)中最

DimbAsLong大的數(shù)。程序中有兩行有錯誤。改正錯誤,使它能輸

DimcAsLong出正確的結(jié)果。296

DimdAsLongPrivateSubCommandl_Click()

DimiAsIntegerDimNAsInteger

a=0:b=0:c=1DimsAsInteger

Fori=1To36DimiAsInteger

d=aForN=300To100Step-1

a=bs=0

b=cFori=1ToN

c=a+b+cIfNModi=0Then

Nextis=s+1

PrintcEndIf

EndSubNexti

答案:33;c=a+b+dIfsModN=0Then

20.程序功能:求數(shù)列序4,8,16,32,…前若干項之和。PrintN

當和大于9000時,終止求和并輸出結(jié)果。程序中有兩ExitFor

行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。16382EndIf

PrivateSubCommandl_Click()NextN

DimsAsIntegerEndSub

DimxAsInteger答案:Nmods=0(只有一處錯誤)

x二124.程序功能:有一個三位數(shù)滿足下列條件:(1)三位數(shù)

Do字各不相同;(2)此數(shù)等于它的各位數(shù)字的立方和。求

x=x+2這種三位數(shù)的個數(shù)。程序中有兩行有錯誤。改正錯誤,

s=s+x使它能輸出正確的結(jié)果。4153370371407

Untils>9000PrivateSubCommand1_C1ick()

PrintsDimxAsInteger,aAsInteger,bAsInteger

EndSubDimcAsInteger,nAsInteger

n=0EndSub

x=100答案:8;x+y*2+z*5=100

DoWhilex>=99928.程序功能:求區(qū)間[500,2500]中按遞增順序的第25

a=Int(x/100)個素數(shù)。程序中有兩行有錯誤。改正錯誤,使它能輸

b=Int(x/10)-a*10出正確的結(jié)果。659

c=x-a*100-b*10PrivateSubCommandl_Click()

Ifa<>cAndb?cAnda<>bAndx=a-3+n=0

b,3+c"3ThenForx=500To2500

n=n+1flag=False

EndIfFori=2Tox-1

x=x+1IfxModi=0Then

Loopflag=True

PrintnExitFor

EndSubEndIf

答案:x<=999;將or全部換成andNexti

25.程序功能:求[3,500]內(nèi)所有素數(shù)之和。程序中有一IfflagThen

行錯誤,改正錯誤,使它能輸出正確的結(jié)果。21534n=n+1

PrivateSubCommandl_Click()Ifn=25ThenExitFor

Sum=0EndIf

Forx=3To500Nextx

flag=TruePrintx

Fori=2Tox-1EndSub

IfxModi=0Then答案:notflag(只有一處錯誤)

flag=False29.程序功能:設(shè)某四位數(shù)的千位數(shù)字與十位數(shù)字的和等

ExitFor于百位數(shù)字與個位數(shù)字的積,例如,對于四位數(shù):9512,

EndIf9+1=5*2,求所有這樣的四位數(shù)之和。程序中有一行有

Nexti錯誤。改正錯誤,使它能輸出正確的結(jié)果。1078289

IfnoIflagThenPrivateSubCommandl_Click()

Sum=Sum+xSum二0

EndIfForx=1000To9999

Nextxa=Int(x/1000)

PrintSumb=Int(x/100)-a*10

EndSubc=Int(x/10)-a*100-b*10

答案:flagd=x-a*1000-b*100-c*10

26.程序功能:求[3-1000]之間最大的五個素數(shù)之和。程Ifa+c=b*dThen

序中有兩行有錯誤。改正錯誤,使它能輸出正確的結(jié)Sum=Sum+x

果。4919EndIf

PrivateSubCommandl_Click()Nextx

n=0:Sum=0PrintSum

x=1000EndSub

Do答案:b=Ini(x/100)-a*10這樣的數(shù):2079992

flag=True30.程序功能:求[200,300]之間的有奇數(shù)個不同因子的

Fori=2Tox-1最大整數(shù)。程序中有兩行有錯誤。改正錯誤,使它能

IfxModi=0Then輸出正確的結(jié)果。289

flag=FalsePrivateSubCommand1_C1ick()

ExitdoForx=300To200SlepT

EndIfn=0

NextiFori=1Tox

IfflagThenIfxModi=0Then

Sum=Sum+xn=n+1

n=n+1EndIf

Ifn=5ThenExitDoNexti

EndIfIfn/2?0Then

x=x-1Printx

LoopWhilex<=3ExitFor

PrintSumEndIf

EndSubNextx

答案:exitfor;x>=3EndSub

27.程序功能:把一張一元鈔票,換成一分、二分和五分答案:x二300To200Step-1;nMod200

硬幣,每種至少8枚,求方案數(shù)。程序中有兩行有錯誤。31.程序功能:計算

改正錯誤,使它能輸出正確的結(jié)果。80y=l+2/3+3/5+4/7+…+n/(2*n-l)(n=50),要求:按四

PrivateSubCommandl_Click()舍五入的方式精確到小數(shù)點后第二位。程序中有兩行

n=0有錯誤。改正錯誤,使它能輸出正確的結(jié)果。26.47

Forx二」To100PrivateSubCommandl_Click()

Fory=8To50DimsAsSingle

Forz=8To20DimnAsInteger

Ifx+y*2+z*5=100Thenn=n+1s=0

NextzForn=1To50

Nextys二s+n/2*n-l

NextxNextn

PrintnPrintround(s)

EndSubIfcock+hen+chick=100Then

答案:s=s+n/(2*n-l);round(s,2)s=s+1

32.程序功能:求當N=20時,EndIf

1/(1*2)+1/(2*3)+1/(3*4)+????+1/(N*(N+l))的值。要hen=hen+1

求:按四舍五入的方式精確到小數(shù)點后第二位。程序Loop

中有一行有錯誤。改正錯誤,使它能輸出正確的結(jié)果。cock=cock+1

0.95Loop

PrivateSubCommandl_Click()Prints

s=0:n=1EndSub

DoWhilen<=20答案:cock*5+hen*3+chick/3=100(一處錯)

s-s+l/n*(n+l)37.程序功能:求500以內(nèi)最大的10個能被13或17整

n=n+1除的自然數(shù)之和。程序中有兩行有錯誤。改正錯誤,

Loop使它能輸出正確的結(jié)果。4622

PrintFormat(s,"##0.##")PrivateSubCommandl_Click()

EndSubs=0:n=0

答案:s=s+1/(n*(n+1))x二500

33.程序功能:求m=50時,表達式DoWhilex>=1

t=1-1/(2*2)-1/(3*3)的值。要求:按四IfxMod13=0andxMod17=0Then

舍五入的方式精確到小數(shù)點后第四位。程序中有兩行s=s+x

有錯誤。改正錯誤,使它能輸出正確的結(jié)果。0.3749n=n+1

PrivateSubCommand1_C1ick()EndIf

DimtAsSingleIfn=10ThenExitDo

DimmAsIntegerx二x+1

m=2Loop

t=1Prints

DoWhilem<=50EndSub

t=t-1/m*m答案:0r;x=x-1

m=m+138.、誼序動能:求[10,1000]之間的所有完數(shù)之和。各

wend真因子之和(不包括自身)等于其本身的正整數(shù)稱為

PrintFormat(t,"0.####")完數(shù)。例如:6=1+2+3,6是完數(shù)。程序中有有錯誤。

EndSub改正錯誤,使它能輸出正確的結(jié)果。524

答案:(m*m);loopPrivateSubCommand1Click()

34.程序功能:求[10,1000]之間滿足除以7余5、除以5DimsumAsInteger

余3、除以3余1的所有整數(shù)的個數(shù)。程序中有兩行DimxAsInteger,kAsInteger

有錯誤。改正錯誤,使它能輸出正確的結(jié)果。9DimiAsInteger

PrivateSubCommandl_Click()sum=0

DimxAsIntegerForx

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論