VB设计改错.docx
- 文档编号:10242367
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:72
- 大小:28.46KB
VB设计改错.docx
《VB设计改错.docx》由会员分享,可在线阅读,更多相关《VB设计改错.docx(72页珍藏版)》请在冰豆网上搜索。
VB设计改错
1、程序功能:
求100~200之间的素数个数,程序中有错误。
改正错误,使它能输出正确
的结果。
PrivateSubForm_Click()
Number=0
Forx=101To199Step2
i=2
k=Int(x/2)
DoWhilei<=k
IfxModi=0ThenExitFor
i=i+1
Loop
Ifi Number=Number+1 EndIf Nextx PrintNumber EndSub 正确答案: 21 2、程序功能: 求sum=d+dd+ddd+……+ddd..d(d为1-9的数字)。 例如,3+33+333+3333 (此时d=3,n=4)从键盘上输入d的值为3,n的值为4。 程序中有错误。 改正错误,使它 能输出正确的结果。 PrivateSubForm_Click() DimdAsInteger,nAsInteger,iAsInteger DimsumAsLong sum=0 d=Val(InputBox("请输入数值d: ")) n=Val(InputBox("请输入数值n: ")) Fori=1Ton tn=tn+d sum=sun+tn Nexti Printsum EndSub 正确答案: 3702 3、程序功能: 求水仙花的个数(所谓水仙花数是指一个三位数,该数的各位数字立方之和 等于该数本身。 例如153是一个水仙花数,因为1^3+5^3+3^3=153)程序中有错误。 改正 错误,使它能输出正确的结果。 OptionExplicit PrivateSubForm_Click() DimnumberAsInteger DimnAsInteger,iAsInteger,jAsInteger,kAsInteger Forn=100To999 i=n/100 j=Int(n/10)-i*10 k=nMod10 If(n=i*i*i+j*j*j+k*k*k)Then number=numbre+1 EndIf Nextn Printnumber EndSub 正确答案: 4 4、程序功能: 求数列2/1,3/2,5/3,13/8,……的前10项之和。 程序中有错误。 改正错 误,使它能输出正确的结果。 OptionExplicit PrivateSubForm_Click() DimiAsInteger,tAsInteger,nAsInteger DimaAsInteger,bAsInteger DimsAsSingle a=2: b=1: n=10 Fori=1Ton s=s+a/b t=b a=a+b a=t Nexti Prints EndSub 正确答案: 16.47991 5、程序功能: 猴子第1天摘下若干桃子,当即吃掉一半,又多吃一个,第二天将剩余的部 分吃掉一半还多一个;以此类推,到第10天只剩余1个。 问第1天共摘了多少桃子。 程序 中有错误。 改正错误,使它能输出正确的结果。 OptionExplicit PrivateSubForm_Click() DimdayAsInteger,sumAsInteger day=10;sum=1 DoWhileday>0 sum=sum*2 day=day-1 Loop Printsum EndSub 正确答案: 3070 6、程序功能: 一个两位数的正整数,如果将其个位数与十位数字对调所生成的数称为其对 调数,如28是82的对调数。 现给定一个两位的正整数,请找到另一个两位的整数,使这 两个数之和等于它们的各自的对调数之和。 这样的另一个两位数有多少个。 程序中有错误(从 键盘输入的两位数为46)改正错误,使它能输出正确的结果。 OptionExplicit PrivateSubForm_Click() DimxAsInteger,yAsInteger,numberasInteger DimxfAsInteger,yfAsInteger Number=0 Do x=Val(InputBox("请输入一个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 Number=Number+1 EndIf Nexty PrintNumber EndSub 正确答案8 7、程序功能: 求1~200之间能被7整除的数的平方和。 程序有错误。 改正错误,使它能 输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger,sumAsinteger x=1 sum=0 Whilex<=200 IfxMod7=0 sum=sum+x^2 EndIf x=x+1 Wend Printsum EndSub 正确答案: 377986 8、程序功能: 求1~99的平方根的和。 (保留小数点两位),程序中有错误。 改正错误,使 它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimsumAsInteger x=1 DoWhilex<=99 sum=sum+Sqrt(x) x=x+1 Loop PrintFormat(sum,"########.##") EndSub 正确答案: 661.46 9、程序功能: 求1~55的平方根的和。 (保留小数点两位)程序中有错误。 改正错误,使它 能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimsumAsInteger sum=0 Forx=1To55 sum=sum+Sqr(x) Nextx Printsum EndSub 正确答案: 275.43 10、程序功能: 统计1~1000能被3整除的数的个数。 程序中有错误。 改正错误,使它能输 出正确的结果。 PrivateSubCommand1_Click() DimcountAsInteger DimiAsInteger i=3 count=0 DoWhileI>=1000 Ifxmod3=0Then count=count+1 EndIf i=i+1 Loop Printcount EndSub 正确答案: 333 11、程序功能: 求1~100之间的所有整数的平方和。 程序中有错误。 改正错误,使它能输 出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimsumAsInteger x=1 sum=0 DoUntilx<100 sum=sum+x^2 x=x+1 Loop Printsum EndSub 正确答案: 328350 12、程序功能: 求1到5000之间的能被5整除的前若干个偶数之和,直到和大于500为 止。 程序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimsAsLong x=2 DoWhilex<=5000 IfxMod5=0Then s=s+x Ifs>500Then Exitfor EndIf EndIf x=x+1 Loop Prints EndSub 正确答案: 550 13、程序功能: 求3000以内能被17或23整除的正整数的个数。 程序中有错误。 改正错误, 使它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimcountAsInteger Forx=1To3000step-1 IfxMod17=0andxMod23=0Then count=count+1 EndIf Nextx Printcount EndSub 正确答案: 299 14、程序功能: 已知一个数列的前3项为0,0,1,以后每项为前3项之和,求此数列的 第36项。 程序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimaAsLong DimbAsLong DimcAsinteger DimiAsInteger a=0: b=0: c=1 Fori=1To36 a=a+b+c b=b+a+c c=c+a+b Nexti Printc EndSub 正确答案: 334745777 15、程序功能: 求数列2,4,8,16,32,…前若干项之和。 当和大于9000时,终止求和并输出 结果。 程序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimsAsInteger DimxAsInteger x=1 Do s=s+2*x x=x+1 Untils>9000 Prints EndSub 正确答案: 16382 16、程序功能: 求[351,432]之间既不能被3整除,又不能被8整除的数的个数。 程序中有错 误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimcAsInteger DimxAsInteger Forx=351To432 IfxMod3<>0orxMod8<>0Then c=c+1 EndIf Nextc Printc EndSub 正确答案: 47 17、程序功能: 求[444,666]之间最大的素数是多少? 程序中有错误。 改正错误,使它能输 出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimiAsInteger Forx=666To444 k=Int(Sqr(x)) Fori=2Tok IfxModi=0Then ExitDo EndIf Nexti Ifi>kThen Printx ExitFor EndIf Nextx EndSub 正确答案: 661 18、程序功能: 已知24有8个正整数因子(即: 1,2,3,4,6,8,12,24),而24正好被其因子个 数8整除。 问[100,300]之间有多少个这样的数。 程序中有错误。 改正错误,使它能输出正 确的结果。 PrivateSubCommand1_Click() Dimn1AsInteger,n2AsInteger DimxAsInteger DimiAsInteger n2=0 Forx=100To300 n2=0 Fori=1To100 IfxModi=0Then n1=n1+1 EndIf Nexti IfxModn1=0Then n2=n2+1 EndIf Nextx Printn2 EndSub 正确答案: 19 19、程序功能: 若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数 28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。 求[1,200]之间有多少个多因 子完备数。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimNAsInteger DimsAsInteger DimiAsInteger DimcAsInteger c=0 ForN=1To200 s=0 Fori=1ToN IfNModi<>0Then s=s+i EndIf Nexti IfNMods=0Then c=c+1 EndIf NextN Printc EndSub 正确答案: 4 20、程序功能: 我国今年的国民生产总值为45600亿元,若今后每年以9%的增长率增长,计 算多少年后能实现国民生产总值翻一番? 程序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimpAsLong,p1AsLong DimnAsInteger n=0 p1=45600 p=p1 Do p=p*(1+9%) n=n+1 LoopUntilp<2*p1 Printn EndSub 正确答案: 9 21、程序功能: 已知24有8个正整数因子(即: 1,2,3,4,6,8,12,24),而24正好被其因子个数 8整除。 求[100,300]之间能被其因子数目整除的数中最大的数。 程序中有错误。 改正错误, 使它能输出正确的结果。 PrivateSubCommand1_Click() DimNAsInteger DimsAsInteger DimiAsInteger ForN=300To100 s=0 Fori=1ToN IfNModi=0Then s=s+1 EndIf Nexti IfsModN=0Then PrintN ExitFor EndIf NextN EndSub 正确答案: 296 22、程序功能: 有一个三位数满足下列条件: (1)三位数字各不相同; (2)此数等于它的各位数 字的立方和。 求这种三位数的个数。 程序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimaAsInteger DimbAsInteger DimcAsInteger DimnAsInteger n=0 x=100 DoWhilex>=999 a=Int(x/100) b=Int(x/10)-a*10 c=x-a*100-b*10 Ifa<>cOrb<>cOra<>bOrx=a^3+b^3+c^3Then n=n+1 EndIf x=x+1 Loop Printn EndSub 正确答案: 4 23、程序功能: 求1~130所有整数的立方和。 程序中有错误。 改正错误,使它能输出正确 的结果。 PrivateSubCommand1_Click() DimsAsInteger DimxAsInteger x=1 s=0 DoWhilex>130 s=s+x^3 x=x+1 Loop Prints EndSub 正确答案: 72505225 24、程序功能: 求1~210之间所有整数的立方和。 程序中有错误。 改正错误,使它能输出 正确的结果。 PrivateSubCommand1_Click() DimsAsInteger DimxAsInteger x=1 s=0 Do s=s+x^3 x=x+1 Whilex<=210 Prints EndSub 正确答案: 490844025 25、程序功能: 计算1000以内,既能被6整除又能被8整除的数的个数。 程序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimnAsInteger DimxAsInteger x=1 n=0 DoWhilex<=1000 IfxMod6=0OrxMod8=0Then n=n+1 Endcase x=x+1 Loop Printn EndSub 正确答案: 41 26、程序功能: 求1~60之间所有整数的平方和。 程序中有错误。 改正错误,使它能输出正 确的结果。 PrivateSubCommand1_Click() DimsAsinteger DimxAsInteger s=0 Forx=1To60 s=s+x^2 Nexts Prints EndSub 正确答案: 73810 27、程序功能: 求[2,500]之间的所有素数之和。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimflagAsBoolean DimsumAsLong DimiAsInteger sum=0 Forx=3To500 flag=True Fori=2Tox-1 IfxModi=0Then flag=False ExitFor EndIf Nexti IfnotflagThen sum=sum+x EndIf Nextx Printsum EndSub 正确答案: 21534 28、程序功能: 求[3-1000]之间最大的五个素数之和。 程序中有错误。 改正错误,使它能输 出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimsumAsInteger DimiAsInteger DimflagAsBoolean DimnAsInteger n=0 sum=0 x=1000 Do flag=True Fori=2Tox-1 IfxModi=0Then flag=False ExitDo EndIf Nexti IfflagThen sum=sum+x n=n+1 Ifn=5Then ExitDo EndIf EndIf x=x-1 LoopWhilex<=3 Printsum EndSub 正确答案: 4919 29、程序功能: 求[100,200]之间有奇数个不同因子的整数的个数。 程序中有错误改正错误, 使它能输出正确的结果。 PrivateSubCommand1_Click() Dimn1AsInteger,n2AsInteger DimxAsInteger,iAsInteger n1=0: n2=0 Forx=100To200 n2=0 Fori=1To100 IfxModi=0Then n2=n2+1 EndIf Nexti Ifn2Mod2=0Then n1=n1+1 EndIf Nextx Printn1 EndSub 正确答案: 5 30、程序功能: 把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,求方案数。 程 序中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimyAsInteger DimzAsInteger DimnAsInteger n=0 Forx=1To100 Fory=8To50 Forz=8To20 Ifx+y+z=100Then n=n+1 EndIf Nextz Nexty Nextx Printn EndSub 正确答案: 80 31、程序功能: 求区间[500,2500]中按递增顺序的第25个素数。 程序中有错误。 改正错 误,使它能输出正确的结果。 DimiAsInteger DimnAsInteger DimflagAsBoolean n=0 Forx=500To2500 flag=False Fori=2Tox IfxModi=0Then flag=True ExitFor EndIf Nexti IfflagThen n=n+1 Ifn=25ThenExitFor EndIf Nextx Printx EndSub 正确答案: 659 32、程序功能: 将50元兑换成5元、2元和1元的方法的种数(每种面额不能为0)。 程序 中有错误。 改正错误,使它能输出正确的结果。 PrivateSubCommand1_Click() DimxAsInteger DimyAsInteger DimzAsInteger DimnAsInteger Forx=1To10 Fory=0To25 Forz=0To50 Ifx+y+z=50Then n=n+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 设计 改错