




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9、VisuaIBasic程序改错
1.程序功能:求s=l+3+5+7+...直到s>2000为止。程EndSub
答案:and;wend
序中有两行有错误。改正错误,使它能输出正确的结果。5.程序功能:求1到400间,同时能被3和7整除的
(2025)平方和数的个数。程序中有两行有错误。改正错误,使它能输
PrivateSubForm_Click()出正确的结果。(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
改正错误,使它能输出正确的结果。(40346)答案:xMod3=0AndxMod7=0;x
PrivateSubCommandl_Click()6.程序功能:求能被3整除且至少有一位数字为5的
DimkAsInteger,iAsInteger三位数的个数。程序中有两行有错误。改正错误,使它
DimsAsLong,tAsLong能输出正确的结果。(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
正错误,使它能输出正确的结果。(41066)
EndSub
PrivateSubCommandl_Click()
答案:a=5orb=5orc=5;loop
DimkAsInteger,iAsInteger
7.程序功能:求三位偶数中,个位数字与十位数字之
DimsAsLong,tAsLong
和除以10所得的余数是百位数字的数的个数。程序中
s=0:i=1
有两行有错误。改正错误,使它能输出正确的结果。(45)
DoWhilei<=4
奇数都是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整除的数的个数。程序中有两行有错误。改正错误,
x=x+1
使它能输出正确的结果。(57)
loop
PrivateSubCommandl_Click()
Printcount
DimcountAsInteger
EndSub
DimxAsInteger
答案:xMod2=0And(b+c)Mod10=a;wend
count=0
8.程序功能:求平方和小于2000的最大自然数。程序
x二200
中有两行有错误。改正错误,使它能输出正确的结果。
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
中有三行有错误。改正错误,使它能输出正确的结果。Nextn
(6)Printnumber
PrivateSubForm_Click()EndSub
DimxAsInteger,yAsInteger,zAsInteger答案:j=Int((n-i*100)/10);number=number+l
DimsAsInteger13.程序功能:求数列2/1,3/2,5/3,8/5,13/8,……
s=0的前10项之和。程序中有两行有错误。改正错误,使
Forx=1To33它能输出正确的结果。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之间的所有素数个数,程序Nexti
中有两行有错误。改正错误,使它能输出正确的结果。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出正确的结果。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整除的数的平方
数字)。例如:3+33+333+3333(此时d=3,n=4)。从和。程序有两处错误。改正错误,使它能输出正确的
康蠢上输入d的值为8,n的值为9,求sum的值。速结果。377986
序中有两行有错误。改正错误,使它能输出正确的结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的平方根的和并输出结果。(保
12.程序功能:输出水仙花的个数(所谓水仙花数是指一留小数点两位),程序中有两行有错误。改正错误,
个三位十进制数,该数的各位数字立方之和等于该数使它能输出正确的结果。661.46
本身。例如153是一个水仙花数,因为PrivateSubCommand1_C1ick()
「3+5-3+3-3=153)程序中有两行有错误。改正错误,DimxAsInteger
使它能输出正确的结果。4DimsumAsinteger
PrivateSubFormCiick()x=1
DimnumberAsIntegerDoWhilex<=99
sum=sum+Sqrt(x)
X=X+1答案:x=x*2;loopuntils>9000
Loop21.程序功能:已知24有8个正整数因子(即:
PrintRound(sum,2)1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。
EndSub问[100,300]之间有多少个这样的数。程序中有两行有
答案:DimsumAsSingle;sum=sum+Sqr(x)错误。改正错误,使它能输出正确的结果。19
17.程序功能:求[1,5000]内能被5整除的前若干个偶数PrivateSubCommandl_Click()
之和,直到和大于50000为止。程序中有两行有错误。DimnlAsInteger,n2AsInteger
改正错误,使它能输出正确的结果。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以内能被17或23整除的正整数22.程有功'能:我国今年的国民生产总值为45600亿元,
的个数。程序中有两行有错误。改正错误,使它能输若今后每年以9%的增长率增长,计算多少年后能实现
出正确的结果。299国民生产总值翻一番?程序中有两行有错误。改正错
PrivateSubCommandl_Click()误,使它能输出正确的结果。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.短用功能:已知一个数列的前3项为0,0,1,以后Printn
每项为前3项的和,求此数列的第36项。程序中有两EndSub
行有错误。改正错误,使它能输出正确的结果。答案:p=p*(1+0.09);>=
33474577723.程序功能:已知24有8个正整数因子
PrivateSubCommand1Click()(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8
DimaAsLong整除。求[100,300]之间能被其因子数目整除的数中最
DimbAsLong大的数。程序中有两行有错误。改正错误,使它能输
DimcAsLong出正确的结果。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.程序功能:求数列序4,8,16,32,…前若干项之和。PrintN
当和大于9000时,终止求和并输出结果。程序中有两ExitFor
行有错误。改正错误,使它能输出正确的结果。16382EndIf
PrivateSubCommandl_Click()NextN
DimsAsIntegerEndSub
DimxAsInteger答案:Nmods=0(只有一处错误)
x二124.程序功能:有一个三位数满足下列条件:(1)三位数
Do字各不相同;(2)此数等于它的各位数字的立方和。求
x=x+2这种三位数的个数。程序中有两行有错误。改正错误,
s=s+x使它能输出正确的结果。4153370371407
Untils>9000PrivateSubCommand1_C1ick()
PrintsDimxAsInteger,aAsInteger,bAsInteger
EndSubDimcAsInteger,nAsInteger
n=0EndSub
x=100答案:8;x+y*2+z*5=100
DoWhilex>=99928.程序功能:求区间[500,2500]中按递增顺序的第25
a=Int(x/100)个素数。程序中有两行有错误。改正错误,使它能输
b=Int(x/10)-a*10出正确的结果。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]内所有素数之和。程序中有一IfflagThen
行错误,改正错误,使它能输出正确的结果。21534n=n+1
PrivateSubCommandl_Click()Ifn=25ThenExitFor
Sum=0EndIf
Forx=3To500Nextx
flag=TruePrintx
Fori=2Tox-1EndSub
IfxModi=0Then答案:notflag(只有一处错误)
flag=False29.程序功能:设某四位数的千位数字与十位数字的和等
ExitFor于百位数字与个位数字的积,例如,对于四位数:9512,
EndIf9+1=5*2,求所有这样的四位数之和。程序中有一行有
Nexti错误。改正错误,使它能输出正确的结果。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]之间最大的五个素数之和。程Ifa+c=b*dThen
序中有两行有错误。改正错误,使它能输出正确的结Sum=Sum+x
果。4919EndIf
PrivateSubCommandl_Click()Nextx
n=0:Sum=0PrintSum
x=1000EndSub
Do答案:b=Ini(x/100)-a*10这样的数:2079992
flag=True30.程序功能:求[200,300]之间的有奇数个不同因子的
Fori=2Tox-1最大整数。程序中有两行有错误。改正错误,使它能
IfxModi=0Then输出正确的结果。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枚,求方案数。程序中有两行有错误。31.程序功能:计算
改正错误,使它能输出正确的结果。80y=l+2/3+3/5+4/7+…+n/(2*n-l)(n=50),要求:按四
PrivateSubCommandl_Click()舍五入的方式精确到小数点后第二位。程序中有两行
n=0有错误。改正错误,使它能输出正确的结果。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
求:按四舍五入的方式精确到小数点后第二位。程序Loop
中有一行有错误。改正错误,使它能输出正确的结果。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以内最大的10个能被13或17整
n=n+1除的自然数之和。程序中有两行有错误。改正错误,
Loop使它能输出正确的结果。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
舍五入的方式精确到小数点后第四位。程序中有两行s=s+x
有错误。改正错误,使它能输出正确的结果。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]之间的所有完数之和。各
wend真因子之和(不包括自身)等于其本身的正整数称为
PrintFormat(t,"0.####")完数。例如:6=1+2+3,6是完数。程序中有有错误。
EndSub改正错误,使它能输出正确的结果。524
答案:(m*m);loopPrivateSubCommand1Click()
34.程序功能:求[10,1000]之间满足除以7余5、除以5DimsumAsInteger
余3、除以3余1的所有整数的个数。程序中有两行DimxAsInteger,kAsInteger
有错误。改正错误,使它能输出正确的结果。9DimiAsInteger
PrivateSubCommandl_Click()sum=0
DimxAsIntegerForx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电商绿色物流行业物流配送模式创新研究报告
- 给砖厂送煤矸石合同范本
- 高端救生衣采购合同范本
- 私人租赁车牌协议书范本
- 深度保洁服务协议书范本
- 职工公寓合租协议书范本
- 离婚了如何写财产协议书
- 瑜伽馆赠送课程合同范本
- 用就业协议代替劳动合同
- 水稻还田合同协议书范本
- 2025时政试题及答案(100题)
- GB/T 45365-2025纺织品保湿效果的测定蒸发热板测微气候法
- 医院人力资源部门年终总结
- 急流救援IRB培训一(水域救援基础理论、艇操、船外机安装)
- 2025年宁波农商发展集团限公司招聘高频重点提升(共500题)附带答案详解
- 《眼内炎患者的疾病》课件
- 2024-2030年中国独立学院行业转型挑战分析发展规划研究报告
- 历年全国普通话考试真题50套
- 智能物业管理大数据应用方案
- 香港公司股东协议书范本
- DB43T 876.8-2015 高标准农田建设 第8部分:科技服务
评论
0/150
提交评论