《计算机上机题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
序号题目程序答案1程序功能:求s=1+3+5+7+...直到s>2000为止。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimiAsInteger,sAsLongs=0i=1DoUntils<2000s=s+ii=i+1LoopPrintsEndSub2025b程序功能:求s=l+3+5+7+...直到s>3000为止。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimiAsInteger,sAsLongs=0i=1DoUntils<3000s=s+ii=i+1LoopPrintsEndSub30253程序功能:计算s=2!+4!+8!。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimkAsInteger,iAsIntegerDimsAsLong,tAsLongs=0i=1DoWhilei<=3t=1k=1Whilek<=2*it=t*kk=k+lWends=s+ti=i+1WendPrintsEndSub40346k程序功能:计算s=2!+4!+6!+8!。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimkAsInteger,iAsIntegerDimsAsLong,tAsLongs=0i=1DoWhilei<=3t=1k=1Whilek<=2it=t*kk=k+lWends=s+ti=i+1WendPrintsEndSub410665程序功能:求200到400间,能被3整除但不能被7整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimxAsIntegercount=0x=200Whilex<=400IfxMod3=0OrxMod700Thencount=count+1EndIfx=x+1LoopPrintcountEndSub57
16程序功能:求200到500间,能被13整除但不能被17整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimcountAsIntegerDimxAsIntegercount=0x=200Whilex<=500IfxMod13=0OrxMod17<>0Thencount=count+1EndIfx=x+1LoopPrintcountEndSub217程序功能:求1到400间,同时能被3和7整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimcountAsIntegerDimxAsIntegerForx=1To400ifmod(x,3)=0andmod(x,7)=0thencount=count+1endifNextcountprintcountEndSub19程序功能:求1到500间,同时能被5和9整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimcountAsIntegerDimxAsIntegerForx=1To500ifmod(x,5)=0andmod(x,9)=0thencount=count+1endifNextcountprintcountEndSub11b程序功能:求能被3整除且至少有…位数字为5的三位数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimaAsInteger,bAsInteger,cAsIntegerDimxAsIntegerx=100DoWhilex<=999IfxMod3=0Thena=Int(x/100)b=Int((x-a*100)/10)c=x-a*100-b*10Ifa=5Andb=5Andc=5Thencount=count+1EndIfEndIfx=x+1WendPrintcountEndSub8510程序功能:求能被7整除且至少有…位数字为9的三位数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimaAsInteger,bAsInteger,cAsIntegerDimxAsIntegerx=100DoWhilex<=999IfxMod700Thena=Int(x/100)b二Int((x-a*100)/10)c=x-a*100-b*36
210Ifa=9andb=9Andc=9Thencount二count+1EndIfEndIfx=x+1LoopPrintcountEndSub11程序功能:求三位偶数中,个位数字与十位数字之和除以10所得的余数是百位数字的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimaAsInteger,bAsInteger,cAsIntegerDimxAsIntegercount=0x=100Whilex<=999a=Int(x/100)b=Int(x/10)-a*10c=x-a*100-b*10ifmod(x,2)=0ORmod(b+c,10)=athencount=count+1EndIfx=x+1LoopPrintcountEndSub4512程序功能:求三位奇数中,个位数字与十位数字之和除以10所得的余数是百位数字的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimaAsInteger,bAsInteger,cAsIntegerDimxAsIntegercount=0x=100Whilex<=999a=Int(x/100)b=Int(x/10)-a*10c=x-a*100-b*10ifxmod2=0Orb+cmod10=athencount=count+1EndIfx=x+1LoopPrintcountEndSub4513程序功能:求平方和小于2000的最大自然数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimxAsIntegerDimsAsIntegers=0x=0DoWhiles>=2000x=x+2s=s+x*xloopPrintxEndSub1814程序功能:求1〜100中,两个不同的数之和能被3或7整除的“数对”的对数(注意:3+5和5+3认为是同一“数对”)?程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimnAsInteger,iAsIntegern=0i=1DoWhilei<=100J=1DoWhileJ<=100IFMOD(I+J,3)00ORMOD(I+J,7)=0thenn=n+1EndIfJ=J+1Loopi=i-1LoopPrintn/2EndSub2121
315程序功能:解百马百瓦古题。大、小马和马驹共100匹,共驮100片瓦。大马一驮三,小马一驮二,马驹二驮一,一次驮完,三种马都驮,共有多少种组合?程序中有三行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimxAsInteger,yAsInteger,zAsIntegerDimsAsIntegers二0Forx=1To33Fory=1To50z=100-x-yIf3*x+2*y+z/2<>100Thens=s+1EndIfNextxNextyPrintsEndSub616程序功能:解百马百瓦古题。大、小马和马驹共100匹,共驮100片瓦。大马一驮三,小马一驮二,马驹二驮一,一次驮完,三种马都驮,共有多少种组合?程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()s=0dm=1DoWhiledm<=100/3xm=1DoWhilexm<=100/2-dmmj=100-dm-xmIfdm+xm+mj=100Thens=s+1EndIfxm=xm+1Loopdm=dm+1LoopPrintsEndSub617程序功能:求100-200之间的所有素数个数,程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Number=0Forx=101To199Step2i=2k=Int(x/2)DoWhilei<=kIfxModi=0ThenExitFori=i+1LoopIfi 4k*k)Thennumber=numbre+1EndIfNextnPrintnumberEndSub20程序功能:求数列2/1,3/2,5/3,8/5,13/8,……的前10项之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimiAsInteger,tAsInteger,nAsIntegerDimaAsInteger,bAsIntegerDimsAsSinglea=2:b=1:n=10:s=0Fori=lTons=s+a/bt=ba=a+ba=tNextiPrintsEndSub16.4799121程序功能:猴子第1天摘下若干桃子,当即吃掉一半,又多吃•个,第二天将剩余的部分吃掉一半还多一个;以此类推,到第10天只剩余1个。问第1天共摘了多少桃子。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimdayAsInteger,sumAsIntegerday=10;sum=1DoWhileday>1sum=sum*2day=day-1LoopPrintsumEndSub153422程序功能:•个两位数的正整数,如果将其个位数与十位数字对调所生成的数称为其对调数,如28是82的对调数。现给定一个两位的正整数46,请找到另••个两位的整数,使这两个数之和等于它们的各自的对调数之和。这样的另一个两位数有多少个。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimxAsInteger,yAsInteger,numberasIntegerDimxfAsInteger,yfAsIntegerNumber=0x=46xf=(xMod10)*10+Int(y/10)Fory=10To99yf=yMod10+Int(y/10)Ifx+y=xf+yfThenNumber=Number+1EndIfNextyPrintNumberEndSub8E3程序功能:求1〜200之间的能被7整除的数的平方和。程序有两处错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsumAsintegerx=1sum=0Whilex<=200IfxMod7=0sum=sum+x2EndIfx=x+1WendPrintsumEndSub37798621程序功能:求1〜99的平方根的和并输出结果。(保留小数点两位),程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsumAsIntegerx=1DoWhilex<=99sum=sum+Sqrt(x)x=x+1LoopPrintRound(sum,661.46 52)EndSub25程序功能:求「55的平方根的和并输出结果。(保留小数点两位)程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimsumAsIntegerx=1DoWhilex<=55sum=sum+Sqrt(x)x=x+1LoopPrintRound(sum,2)EndSub275.4326程序功能:统计riooo中能被3整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimiAsIntegeri=3count=0DoWhileI>=1000Ifxmod3=0Thencount=count+1EndIfi=i+1LoopPrintcountEndSub33327程序功能:输出「100中所有整数的平方和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsumAsIntegerx=1sum=0DoUntilx<100sum=sum+x2x=x+lLoopPrintsumEndSub32835028程序功能:求[1,5000]内能被5整除的前若干个偶数之和,直到和大于50000为止。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsAsLongx=2DoWhilex<=5000IfxMod5=0Thens=s+xlfs>50000ThenExitforEndIfEndIfx=x+1LoopPrintsEndSub5050029程序功能:求3000以内能被17或23整除的正整数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimcountAsIntegerForx=1To3000step-1IfxMod17=0andxMod23=0Thencount=count+1EndIfNextxPrintcountEndSub29930程序功能:已知一个数列的前3项为0,0,1,以后每项为前3项的和,求此数列的第36项。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClick()DimaAsLongDimbAsLongDimcAsLongDimdAsLongDimiAsIntegera=0:b=0:c=1Fori=1To36d=aa=bb=cc=a+b+cNextiPrintcEndSub334745777 631程序功能:求数列2,4,8,16,32,…前若干项之和。当和大于9000时,终止求和并输出结果。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsAsIntegerDimxAsIntegerx=lDox=x+2s=s+xUntils>9000PrintsEndSub1638232程序功能:求[351,432]之间既不能被3整除,也不能被8整除的正整数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimcAsIntegerDimxAsIntegerForx=351To432IfxMod3<>0orxMod800Thenc=c+1EndIfNextcPrintcEndSub试题要求:源程序文件名:试题答案:47考试语种:试卷编号:1034第35小题:程序功能:求[444,666]中最大的素数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimiAsIntegerForx=666To444k=Int(Sqr(x))Fori=2TokIfxModi=0ThenExitDoEndIfNextiIfi>kThenPrintxExitForEndIfNextxEndSub66133程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问[100,300]之间有多少个这样的数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimnlAsInteger,n2AsIntegerDimxAsIntegerDimiAsIntegern2=0Forx=100To300n2=0Fori=1To100IfxModi=0Thennl=nl+1EndIfNextiIfxModnl=0Thenn2=n2+1EndIfNextxPrintn2EndSub1931程序功能:若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。求[1,200]之间有多少个多因子完备数。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimNAsIntegerDimsAsIntegerDimiAsIntegerDimcAsIntegerc=0ForN=1To200s=0Fori=1ToNIfNModi<>0Thens=s+iEndIfNextiIfNMods=0Thenc=c+1EndIfNext4 7NPrintcEndSub35程序功能:我国今年的国民生产总值为45600亿元,若今后每年以9%的增长率增长,计算多少年后能实现国民生产总值翻一番?程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimpAsLong,plAsLongDimnAsIntegern=0pl=45600p=plDop=p*(1+9)n=n+1LoopUntilp<2*plPrintnEndSub936程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数中最大的数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimNAsIntegerDimsAsIntegerDimiAsIntegerForN=300To100s=0Fori=1ToNIfNModi=0Thens=s+1EndIfNextiIfsModN=0ThenPrintNExitForEndIfNextNEndSub29637程序功能:有一个三位数满足下列条件:(1)三位数字各不相同;(2)此数等于它的各位数字的立方和。求这种三位数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimaAsIntegerDimbAsIntegerDimcAsIntegerDimnAsIntegern=0x=100DoWhilex>=999a=Int(x/100)b=Int(x/10)-a*10c=x-a*100-b*10Ifa<>cOrb<>c0ra<>b0rx=a"3+b"3+c"3Thenn=n+1EndIfx=x+1LoopPrintnEndSub438程序功能:求1~130之间所有整数的立方和并输出结果。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsAsIntegerDimxAsIntegerx=1s=0DoWhilex>130s=s+x3x=x+lLoopPrintsEndSub7250522539程序功能:求1~210之间所有整数的立方和并输出结果。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsAsIntegerDimxAsIntegerx=ls=0Dos=s+x3x=x+1Whilex<=210PrintsEndSub49084402540程序功能:计算1000以内,既能被6整除又能被8整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimnAsIntegerDimxAsIntegerx=1n=0DoWhilex<=100041 8IfxMod6=0OrxMod8=0Thenn=n+1Endcasex=x+1LoopPrintnEndSubki程序功能:求1、60之间的所有整数的平方和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimsAsintegerDimxAsIntegers=0Forx=1To60s=s+x2NextsPrintsEndSub7381042程序功能:求[3,500]内所有素数之和。程序中有一行错误,改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()sum=0Forx=3To500flag=TrueFori=2Tox-lIfxModi=0Thenflag=FalseExitForEndIfNextiIfnotflagThensum=sum+xEndIfNextxPrintsumEndSub2153413程序功能:求[3T000]之间最大的五个素数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0sum=0x=1000Doflag=TrueFori=2Tox-lIfxModi=0Thenflag=FalseExitDoEndIfNextiIfflagThensum=sum+xn=n+1Ifn=5ThenExitDoEndIfx=x-1LoopWhilex<=3PrintsumEndSub491911程序功能:求[100,200]间有奇数个不同因子的整数的个数。程序中有两行有错误,改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()nl=0Forx=100To200n2=0Fori=1To100IfxModi=0Thenn2=n2+1EndIfNextiIfn2Mod2=0Thennl=nl+1EndIfNextxPrintnlEndSub515程序功能:把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,求方案数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0Forx=1To100Fory=8To50Forz=8To20Ifx+y+z=100Thenn=n+1NextzNextyNextxPrintnEndSub80 916程序功能:求区间[500,2500]中按递增顺序的第25个素数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()n=0Forx=500To2500flag=FalseFori=2Tox-1IfxModi=0Thenflag=TrueExitForEndIfNextiIfflagThenn=n+1Ifn=25ThenExitForEndIfNextxPrintxEndSub65917程序功能:将50元兑换成5元、2元和1元的方法的种数(每种面额不能为0)。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()Forx=1To10Fory=1To25Forz=1To50Ifx+y+z=50Thenn=n+1ExitforEndIfNextzNextyNextxPrintnEndSub10618程序功能:设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,求所有这样的四位数之和。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()sum=0Forx二1000To9999a=Int(x/1000)b=Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+c=b*dThensum=sum+xEndIfNextxPrintsumEndSub107828949程序功能:求[10,1000]之间的所有完数之和。各真因子之和(不包括自身)等于其本身的正整数称为完数。例如:6=1+2+3,6是完数。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Sum=0Forx二10To1000k=xFori=lTox-lIfxModi=0Thenx=x-iEndIfNextiIfk=0ThenSum=Sum+xEndIfNextxPrintSumEndSub52450程序功能:求[200,300]之间的有奇数个不同因子的最大整数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Forx=300To200n=0Fori=1ToxIfxModi=0Thenn=n+1EndIfNextiIfn/2<>0ThenPrintxExitForEndIfNextxEndSub28951程序功能:求[3333,6666]之间所有能被5和7整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()n=0x=3333Whilex<=6666IfxMod5=0OrxMod7=095 10Thenn=n+1EndIfx=x+1LoopPrintnEndSub.52程序功能:设某四位数的各位数字的平方和为100,且该数能被3整除。求这样的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa2+「2+c°2+「2=100AndMod(x,3)=0Thenn=n+1EndIfNextxPrintnEndSub2453程序功能:若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如:由于7396=86"2,月.7+3+9+6=25=5~2,则称7396是“四位双平方数”。求最小的“四位双平方数”。程序中有行-有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10IfSqr(x)=Int(Sqr(x))AndSqr(a+b+c+d)=Sqr(a+b+c+d)ThenPrintxExitForEndIfNextxEndSub152151程序功能:计算y=l+2/3+3/5+4/7+…+n/(2*n-l)(n=50),要求:按四舍五入的方式精确到小数点后第二位。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimsAsSingleDimnAsIntegers=0Forn=1To50s=s+n/2*n-1NextnPrintround(s)EndSub26.4755程序功能:求当N=20时,1/(1*2)+1/(2*3)+1/(3*4)+….+1/(N*(N+D)的值。要求:按四舍五入的方式精确到小数点后第二位。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()s=0n=1DoWhilen<=20s=s+l/n*(n+1)n=n+1LoopPrintformat(s,n)EndSub0.9556程序功能:回文数是指正读和反读都一样的正整数。例如3773是回文数。求[1000,9999]之间的奇数回文数的个数。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()n=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=50 11x-a*1000-b*100-c*10Ifa=bOrd=cAndxMod200Thenn=n+1EndIfNextxPrintnEndSub57程序功能:求m=50时,表达式t=l-l/(2*2)-l/(3*3)l/(m*m)的值。要求:按四舍五入的方式精确到小数点后第四位。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimtAsSingleDimmAsIntegerm=2t=1DoWhilem<=50t=t-l/m*mm=m+lWendPrintFormat(t,〃0.####〃)EndSub0.374958程序功能:求[10,1000]之间满足除以7余5、除以5余3、除以3余1的所有整数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimnAsIntegern=0Forx=10To1000IfxMod7=5OrxMod5=3OrxMod3=1Thenn=n+1EndIfLoopPrintnEndSub959程序功能:求3000以内能被17或23整除的正整数的个数。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimnAsIntegern=0x=1DoWhilex<=3000IfxMod17=0AndxMod23=0Thenn=n+1EndIfx=x+1wendPrintnEndSub299160程序功能:求1到5000之间的能被5整除的前若干个偶数之和,直到和大于500为止。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0s=0Forx=2To5000Ifmod(x,5)=0Thens=s+xEndIfIfs>500ThenExitForNextxPrintsEndSub55061程序功能:求1到5000之间的能被5整除的前若干个奇数之和,直到和大于600为止。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClick()n=0s=0Forx=1To5000IfxMod5=0Thens=s+xEndIfIfs<=600ThenExitForNextxPrintsEndSub60562程序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有儿种买法(要求每PrivateSubCommandl_Click()s=0cock=1DoWhilecock<=100/5hen=1DoWhilehen<=3 12种鸡至少要买1只)。程序中有一行有错误。改正错误,使它能输出正确的结果。100/3-cockchick=100-cock-henIfcock+hen+chick=100Thens=s+1EndIfhen=hen+1Loopcock=cock+1LoopPrintsEndSub63程序功能:求500以内最大的10个能被13或17整除的自然数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()s=0:n=0x=500DoWhilex>=1IfxMod13=0andxMod17=0Thens=s+xn=n+lEndIfIfn=10ThenExitDox=x+1LoopPrintsEndSub462261程序功能:求10的阶乘,程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()Printfun(10)EndSubPrivateFunctionfun(nAsInteger)AsLongIfn>0Thenfun=1Elsefun=n*fun(n-1)EndIfEndFunction362880065程序功能:求S=l+"2+1/3+……+1/100,程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()suml=sumd(100)PrintsumlEndSubPrivateFunctionsumd(nAsInteger)AsSinglei=0Doi=i+ls=s+l/iLoopUntili 13j、k是0〜9之间的一位整数。程序中有一行有错误。改正错误,使它能输出正确的结果。To9Forj=0To9Fork=0To9Ifijk+kji=1333Thenn=n+1EndIfNextkNextjNextiPrintnEndSub68程序功能:求共有儿组i、j、k符合算式ijk+kji=1534,其中i、j、k是0〜9之间的一位整数。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0Fori=0To9Forj=0To9Fork=0To9Ifijk+kji=1534Thenn=n+1EndIfNextkNextjNextiPrintnEndSub569程序功能:求所有符合算式ij*ji=1300的最小数其中i、j是「9之间的一位整数。程序中有三行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Fori=1To9Forj=1To9Ifij*ji=1300ThenPrint10*i+jExitsubEndIfNextiNextjEndSub2570程序功能:求所有符合算式ij*ji=1300的最大数ij。其中i、j是1~9之间的一位整数。程序中有三行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Fori=9To1Forj=9To1Ifij*ji=1300ThenPrint10*i+jExitsubEndIfNextjNextiEndSub5271程序功能:求四位奇数中,所有各位数字之和是25的倍数的数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()s2=0Forx二1000To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10sl=a+b+c+dIfmod(si,25)=0Thens2=s2+xEndIfNextxPrints2EndSub129851572程序功能:求四位奇数中,所有各位数字之和是36的倍数的数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClick()s2=0Forx=1000To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100一c*10sl=a+b+c+dIfmod(si,36)=0Thens2=s2+xEndIfNextxPrints2EndSub9999 1473程序功能:根据整型参数m的值,计算公式t=l-l/(2*2)-l/(3*3)1/(m*m)的值(m=100)。程序的函数fun()中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()PrintFormat(fun(100),"0.######〃)EndSubPrivateFunctionfun(nAsInteger)AsIntegerDimtAsSingleDimiAsIntegeri=2:t=1DoWhilei<=nt=t-1/(i*i)i=i+1Loopfun二tEndFunction0.36501671程序功能:根据整型参数m的值,计算公式t=l-l/(2*2)-l/(3*3)1/(m*m)的值(m=123)。程序的函数fun()中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()PrintFormat(fun(123),〃0.######〃)EndSubPrivateFunctionfun(nAsInteger)AsIntegerDimtAsSingleDimiAsIntegeri=2:t=1DoWhilei<=nt=t-l/(i*i)i=i+1Loopfun=tEndFunction0.36316375程序功能:根据整型参数m,计算1T23的平方根的倒数之和。程序的函数fun()中有一行有错误,改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()PrintFormat(fun(123),〃#.######〃)EndSubPrivateFunctionfun(mAsInteger)Assingley=0Fori=1Tomt=1/Sqr(i)y=y+tNextifun=tEndFunction20.7657776程序功能:用公式pi序=1-1/3用公式/7+…求pi(pi为圆周率)的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。程序的fun()函数中有--行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()PrintFormat(fun(0.0001),〃#.####")EndSubPrivateFunctionfun(numAsSingle)AsSinglepi=1:t=1:s=l:n=lDos=-sn=n+2t=s*l/npi=pi+tLoopUntilt 15算。程序的fun()函数中有一行有错误,改正错误,使它能输出正确的结果。(t>eps)s=s+tt=t*n/(2*n+l)n=n+1Wendfun=sEndFunction78程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommand1_Click()Printfun(248,848)EndSubPrivateFunctionfun(u,v)t=uDoWhiletModu<>0andtModv<>0t=t+uLoopfun=uEndFunction2628879程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommandlClick()Printfun(482,248)EndSubPrivateFunctionfun(u,v)t=uDoWhiletModu<>0andtModv<>0t=t+1Loopfun=uEndFunction5976880程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()Printfun(1248,888)EndSubPrivateFunctionfun(u,v)Ifu 16u 1787程序功能:求字符串"87IM&2345kjwdssdcf”中数,字母字符的ASCII码之和。程序中有一行错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()alpha=0st=z,87IM&2345kjwdssdcrFori=1Tostch=Mid$(st,i,1)SelectCasechCase'a'To〃z〃alpha=alpha+Asc(ch)Case〃A〃To〃Z"alpha=alpha+Asc(ch)EndSelectNextiPrintalphaEndSub111388程序功能:求四位偶数中,所有各位数字之和是25的倍数的数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()s2=0Forx=1001To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100一c*10sl=a+b+c+dIfmod(si,25)=0Thens2=s2+xEndIfNextxPrints2EndSub111236089程序功能:求四位偶数中,各位数字之和是30的倍数的数之和。程序中有错误,改正错误,使程序能输出正确结果。PrivateSubCommand1_Click()s2=0Forx=1001To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100一c*10si=a+b+c+dIfsiMod30=0Thensi=si+xEndIfNextxPrints2EndSub28884090程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a'2)+l/(b*2)=l/(c'2);(2)a>b>c;(3)a+b+c<100o程序有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()s=0Forc=1To100Forb=1To100Fora=1To100Ifa+b+c<100Orl/(a-2)+l/(b2)=1/(c2)Thens=s+1NextaNextbNextcPrintsEndSub291程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a'2)+l/(b'2)=l/(c'2);(2)a>b>c;(3)a+b+c<50。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()s=0Forc=1To50Forb=1To50Fora=1To50Ifa+b+c<100Or1/(a*2)+1/(b2)=1/(c2)Thens=s+1Nexta,b,cPrints2 18EndSub92程序功能:求四位奇数中,各位数字之积(积不为0)是60的倍数的数之和。程序中有一行错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()numl=0Forx=1001To9999Step2a=Int(x/1000),千位b=Int(x/100)-a*10,百位c=Int(x/10)-a*100-b*10,十位d=x-a*1000-b*100-c*10'个位Ifa*b*c*dMod60=0Thennuml=numl+xEndIfNextxPrintnumlEndSub345625493程序功能:求个位数是6,且能被3整除的所有四位数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimi%Dims&s=0Fori=1000To9999IfiMod3=0OriMod1000=6Thens=s+iEndIfNextiPrintsEndSub165330091程序功能:有一堆零件(零件个数不超过1000),如果分成4个零件-一组余2个;7个一组余3个;9个--组余5个。求这堆零件的个数有几种可能。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Forx=1To1000IfxMod4=2OrxMod7=3OrxMod9=5Theni=i+1EndIfNextxPrintiEndSub495程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:321移成132),新三位数大于原三位数的两倍。程序中有两行错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Fori=0To9Forj=0To9Fork=0To9n=100*i+10*j+km=100*k+10*i+jIfm>=2*nThenPrintnNextkNextjNextiEndSub10296程序功能:计算两个数的最大公约数。程序中有一行有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()Printfun(14339,507)EndSubPrivateFunctionfun(u,v)m=uFori=mTo1Step-1IfvModi=0AnduModi=0Thenfun=iExitsubEndIfNextifun=1EndFunction13 1997程序功能:计算s=2!+4!+8!。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimkAsInteger,iAsIntegerDimsAsLong,tAsLongs=0i=1DoWhilei<=3t=1k=1Whilek<=2*it=t*kk=k+lWends=s+ti=i+1WendPrintsEndSub4034698程序功能:求200到400间,能被3整除但不能被7整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimxAsIntegercount=0x=200Whilex<=400IfxMod3=0OrxMod700Thencount=count+1EndIfx=x+1LoopPrintcountEndSub5799程序功能:求200到500间,能被13整除但不能被17整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果PrivateSubCommand1_C1ick()DimcountAsIntegerDimxAsIntegercount=0x=200Whilex<=500IfxMod13=0OrxMod17<>0Thencount=count+1EndIfx=x+1LoopPrintcountEndSub21100程序功能:求[3333,6666]之间所有能被5和7整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0x=3333Whilex<=6666IfxMod5=0OrxMod7=0Thenn=n+1EndIfx=x+1LoopPrintnEndSub95101程序功能:解百马百瓦古题。大、小马和马驹共100匹,共驮100片瓦。大马一驮三,小马一驮二,马驹二驮一,一次驮完,三种马都驮,共有多少种组合?程序中有三行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimxAsInteger,yAsInteger,zAsIntegerDimsAsIntegers=0Forx=1To33Fory=1To50z=100-x-yIf3*x+2*y+z/2<>100Thens=s+1EndIfNextxNextyPrintsEndSub6102程序功能:求100-200之间的所有素数个数,程序中有两行有错PrivateSubCommand1_C1ick()Number=0Forx21 20误。改正错误,使它能输出正确的结果。二101To199Step2i=2k=Int(x/2)DoWhilei<=kIfxModi=0ThenExitFori=i+1LoopIfi 21n=n+1EndIfLoopPrintnEndSub108程序功能:求3000以内能被17或23整除的正整数的个数。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimnAsIntegern=0x=1DoWhilex<=3000IfxMod17=0AndxMod23=0Thenn=n+1EndIfx=x+1wendPrintnEndSub299109程序功能:求1到5000之间的能被5整除的前若干个偶数之和,直到和大于500为止。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0s=0Forx=2To5000Ifmod(x,5)=0Thens=s+xEndIfIfs>500ThenExitForNextxPrintsEndSub550110程序功能:求最小的水仙花的个数(所谓水仙花数是指一个三位十进制数,该数的各位数字立方之和等于该数本身。例如371是一个水仙花数,因为3-3+7,3+厂3=371)。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()Forn=100To999i=n\100,百位j=Int(n/10)-i*10,十位k=nMod10,个位If(n=i*i*i+j*j*j+k*k*k)ThenprintnexitforEndIfNextnEndSub407111程序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()s=0cock=1DoWhilecock<=100/5hen=1DoWhilehen<=100/3-cockchick=100-cock-henIfcock+hen+chick=100Thens=s+1EndIfhen=hen+1Loopcock=cock+1LoopPrintsEndSub3112程序功能:求500以内最大的10个能被13或17整除的自然数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()s=0:n=0x=500DoWhilex>=1IfxMod13=0andxMod17=0Thens=s+xn=n+lEndIfIfn=10ThenExitDox=x+1LoopPrintsEndSub4622113程序功能:求10的阶乘,程序中有一行有错误。改正错误,使PrivateSubCommandl_Click()Printfun(10)3628800 22它能输出正确的结果。EndSubPrivateFunctionfun(nAsInteger)AsLongIfn>0Thenfun=1Elsefun=n*fun(n-1)EndIfEndFunction114程序功能:求广99的平方根的和并输出结果。(保留小数点两位),程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimsumAsIntegerx=1DoWhilex<=99sum=sum+Sqrt(x)x=x+1LoopPrintRound(sum,2)EndSub661.46115程序功能:求整数2310的所有质因子(即所有为素数的因子)之和。程序的IsprimeO函数中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()s=0k=2310Forj=2TokIf(kModj=0AndIsprime(j))Thens=s+jEndIfNextjPrintsEndSubPrivateFunctionIsprime(n)DimflagAsBooleanflag=TrueIfn=2ThenIsprime=TrueElseFori=2Ton-1IfnModi=0Thenflag=FalseExitForEndIfNextiIsprime=TrueEndIfEndFunction28116程序功能:求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0~9之间的一位整数。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0Fori=0To9Forj=0To9Fork=0To9Ifijk+kji=1333Thenn=n+1EndIfNextkNextjNextiPrintnEndSub6117程序功能:求共有几组i、j、k符合算式ijk+kji=1534,其中i、j、k是0~9之间的一位整数。程序中有一行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0Fori=0To9Forj=0To9Fork=0To9Ifijk+kji=1534Thenn=n+1EndIfNextkNextjNextiPrintnEndSub5118程序功能:求所有符合算式ij*ji=1300的最小数ij。其中i、j是广9之间的•位整数。程序中有三行错误。改正错误,使它PrivateSubCommandlClickOFori=1To9Forj=1To9Ifij*ji=1300ThenPrint10*i25 23能输出正确的结果。+jExitsubEndIfNextiNextjEndSub119程序功能:求所有符合算式ij*ji=1300的最大数ijo其中i、j是1~9之间的一位整数。程序中有三行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Fori=9To1Forj=9To1Ifij*ji=1300ThenPrint10*i+jExitsubEndIfNextjNextiEndSub52120程序功能:统计11000中能被3整除的数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimcountAsIntegerDimiAsIntegeri=3count=0DoWhileI>=1000Ifxmod3=0Thencount=count+1EndIfi=i+1LoopPrintcountEndSub333121程序功能:求四位奇数中,所有各位数字之和是36的倍数的数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()s2=0Forx=1000To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100一c*10sl=a+b+c+dIfmod(si,36)=0Thens2=s2+xEndIfNextxPrints2EndSub9999122程序功能:求3000以内能被17或23整除的正整数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimxAsIntegerDimcountAsIntegerForx=1To3000step-1IfxMod17=0andxMod23=0Thencount=count+1EndIfNextxPrintcountEndSub29912:;程序功能:求[351,432]之间既不能被3整除,也不能被8整除的正整数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcAsIntegerDimxAsIntegerForx=351To432IfxMod3<>0orxMod800Thenc=c+1EndIfNextcPrintcEndSub47124程序功能:根据整型参数m,计算1T23的平方根的倒数之和。程序的函数fun()中有一行有错误,改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()PrintFormat(fun(123),〃#.######")EndSubPrivateFunctionfun(mAsInteger)Assingley=0For20.76577 24i=lTomt=l/Sqr(i)y=y+tNextifun=tEndFunction125程序功能:求[444,666]中最大的素数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimxAsIntegerDimiAsIntegerForx=666To444k=Int(Sqr(x))Fori=2TokIfxModi=0ThenExitDoEndIfNextiIfi>kThenPrintxExitForEndIfNextxEndSub661126程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问[100,300]之间有多少个这样的数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimnlAsInteger,n2AsIntegerDimxAsIntegerDimiAsIntegern2=0Forx=100To300n2=0Fori=1To100IfxModi=0Thennl=nl+1EndIfNextiIfxModnl=0Thenn2=n2+1EndIfNextxPrintn2EndSub19127程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()Printfun(248,848)EndSubPrivateFunctionfun(u,v)t=uDoWhiletModu<>0andtModv<>0t=t+uLoopfun=uEndFunction26288128程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()Printfun(482,248)EndSubPrivateFunctionfun(u,v)t=uDoWhiletModu<>0andtModv<>0t=t+1Loopfun=uEndFunction59768129程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommand1_C1ick()Printfun(1248,888)EndSubPrivateFunctionfun(u,v)Ifu 25t+uLoopfun=uEndFunction130程序功能:计算两个数的最小公倍数。程序中有两行有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()Printfun(123,312)EndSubPrivateFunctionfun(u,v)Ifu 26EndIfNextxPrintsEndSub134程序功能:将50元兑换成5元、2元和1元的方法的种数(每种面额至少2张)。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()Forx=2To10Fory=2To25Forz=2To50Ifx+y+z=50Thenn=n+1ExitforEndIfNextzNextyNextxPrintnEndSub7135程序功能:求字符串"ThisismyBasic"所有字符的ASCH码之和。程序中有一行有错误。改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()sum=0s="ThisismyBasic“Fori=1Tossum=sum+asc(Mid$(s,i,1))NextiPrintsumEndSub1436136程序功能:求字符串"87IM&2345kjwdssdcf”中数,字母字符的ASCII码之和。程序中有一行错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()alpha=0st=,z87IM&2345kjwdssdcf,zFori=1Tostch=Mid$(st,i,1)SelectCasechCase〃a"To'z〃alpha=alpha+Asc(ch)Case"A〃Toalpha=alpha+Asc(ch)EndSelectNextiPrintalphaEndSub1113137程序功能:求四位偶数中,所有各位数字之和是25的倍数的数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()s2=0Forx-1001To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100一c*10sl=a+b+c+dIfmod(si,25)=0Thens2=s2+xEndIfNextxPrints2EndSub1112360138程序功能:求四位偶数中,各位数字之和是30的倍数的数之和。程序中有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()s2=0Forx二1001To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000一b*100-c*10si=a+b+c+dIfsiMod30=0Then288840 27sl=sl+xEndIfNextxPrints2EndSub139程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a*2)+l/(b*2)=l/(c*2);(2)a>b>c;(3)a+b+c<100.程序有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()s=0Forc=1To100Forb=1To100Fora=1To100Ifa+b+c<100Orl/d2)+l/(bl)=l/(c-2)Thens=s+1NextaNextbNextcPrintsEndSub2140程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a*2)+l/(b*2)=l/(c"2);(2)a>b>c;(3)a+b+c<80o程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()s=0Forc=1To80Forb=1To80Fora=1To80Ifa+b+c<80Or1/(a2)+1/(b2)=1/(c2)Thens=s+1Nexta,b,cPrintsEndSub1111程序功能:求四位奇数中,各位数字之积(积不为0)是60的倍数的数之和。程序中有…行错误,改正错误,使程序能输出正确的结果。PrivateSubCommandlClickOnuml=0Forx=1001To9999Step2a=Int(x/1000),千位b=Int(x/100)-a*10,百位c=Int(x/10)-a*100-b*10,十位d=x-a*1000-b*100-c*10'个位Ifa*b*c*dMod60=0Thennuml=numl+xEndIfNextxPrintnumlEndSub3456254142程序功能:求个位数是6,且能被3整除的所有四位数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimi%Dims&s=0Fori=1000To9999IfiMod3=0OriMod1000=6Thens=s+iEndIfNextiPrintsEndSub1653300113程序功能:有一堆桃子(个数不超过1000),如果分成4个一组余2个;7个-组余3个;9个••组余5个。求这堆桃子的个数有几种可能。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Forx=1To1000IfxMod4=2OrxMod7=3OrxMod9=5Theni=i+1EndIfNextxPrintiEndSub4 28144145程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:321移成132),新三位数大于原三位数的两倍。程序中有两行错误,改正错误,使程序能输出正确的结果。程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数中最大的数。程序中有两行有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClick()Fori=0To9Forj=0To9Fork=0To9n=100*i+10*j+km=100*k+10*i+jIfm>=2*nThenPrintnNextkNextjNextiEndSub102程序功能:求100〜200之间的素数个数,程序中有错误。改正错误,使它能输出正确的结果。146147PrivateSubCommandlClick()DimNAsIntegerDimsAsIntegerDimiAsIntegerForN=300To100s=0Fori=1ToNIfNModi=0Thens=s+1EndIfNextiIfsModN=0ThenPrintNExitForEndIfNextNEndSub程序功能:求sum=d+dd+ddd++ddd..d(d为1-9的数字)。例如,3+33+333+3333(此时d=3,n=4)从键盘上输入d的值为3,n的值为4。程序中有错误。改正错误,使它能输出正确的结果。148296PrivateSubForm_Click()Number=0Forx=101To199Step2i=2k=Int(x/2)DoWhilei<=kIfxModi=0ThenExitFori=i+1LoopIfi 29149程序功能:求数列2/1,3/2,5/3,13/8,……的前10项之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimiAsInteger,tAsInteger,nAsIntegerDimaAsInteger,bAsIntegerDimsAsSinglea=2:b=1:n=10Fori=lTons=s+a/bt=ba=a+ba=tNextiPrintsEndSub16.47991150程序功能:猴子第1天摘下若干桃子,当即吃掉一半,又多吃•个,第二天将剩余的部分吃掉一半还多一个;以此类推,到第10天只剩余1个。问第1天共摘了多少桃子。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimdayAsInteger,sumAsIntegerday=10;sum=1DoWhileday>0sum=sum*2day=day-1LoopPrintsumEndSub3070151程序功能:一个两位数的正整数,如果将其个位数与十位数字对调所生成的数称为其对调数,如28是82的对调数。现给定一个两位的正整数,请找到另一个两位的整数,使这两个数之和等于它们的各自的对调数之和。这样的另一个两位数有多少个。程序中有错误(从键盘输入的两位数为46)改正错误,使它能输出正确的结果。PrivateSubForm_Click()DimxAsInteger,yAsInteger,numberasIntegerDimxfAsInteger,yfAsIntegerNumber=0Dox=Vai(InputBox(“请输入一个2位正整数:〃))LoopWhile(x<9)Or(x>99)xf=(xMod10)*10+Int(y/10)Fory=10To99yf=yMod10+Int(y/10)Ifx+y=xf+yfThenNumber=Number+1EndIfNextyPrintNumberEndSub8152程序功能:求1〜200之间能被7整除的数的平方和。程序有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsInteger,sumAsintegerx=1sum=0Whilex<=200IfxMod7=0sum=sum+x2EndIfx=x+1WendPrintsumEndSub377986153程序功能:求1~99的平方根的和。(保留小数点两位),程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimsumAsIntegerx=1DoWhilex<=99sum=sum+Sqrt(x)x=x+1LoopPrintFormat(sum,〃########.##〃)EndSub661.46 30151程序功能:求1、55的平方根的和。(保留小数点两位)程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsumAsIntegersum=0Forx=1To55sum=sum+Sqr(x)NextxPrintsumEndSub275.43155程序功能:统计1~1000能被3整除的数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimcountAsIntegerDimiAsIntegeri=3count=0DoWhileI>=1000Ifxmod3=0Thencount=count+1EndIfi=i+1LoopPrintcountEndSub333156程序功能:求1~100之间的所有整数的平方和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsumAsIntegerx=1sum=0DoUntilx<100sum=sum+x2x=x+lLoopPrintsumEndSub328350157程序功能:求1到5000之间的能被5整除的前若干个偶数之和,直到和大于500为止。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsAsLongx=2DoWhilex<=5000IfxMod5=0Thens=s+xlfs>500ThenExitforEndIfEndIfx=x+1LoopPrintsEndSub5501158程序功能:求3000以内能被17或23整除的正整数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimcountAsIntegerForx=1To3000step-1IfxMod17=0andxMod23=0Thencount=count+1EndIfNextxPrintcountEndSub299159程序功能:已知一个数列的前3项为0,0,1,以后每项为前3项之和,求此数列的第36项。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClick()DimaAsLongDimbAsLongDimcAsintegerDimiAsIntegera=0:b=0:c=1Fori=lTo36a=a+b+cb=b+a+cc=c+a+bNextiPrintcEndSub334745777160程序功能:求数列2,4,8,16,32,…前若干项之和。当和大于9000PrivateSubCommand1_C1ick()DimsAsInteger16382 31时,终止求和并输出结果。程序中有错误。改正错误,使它能输出正确的结果。DimxAsIntegerx=lDos=s+2*xx=x+1Untils>9000PrintsEndSub161程序功能:求[351,432]之间既不能被3整除,又不能被8整除的数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimcAsIntegerDimxAsIntegerForx=351To432IfxMod3<>0orxMod800Thenc=c+1EndIfNextcPrintcEndSub47162程序功能:求[444,666]之间最大的素数是多少?程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimiAsIntegerForx=666To444k=Int(Sqr(x))Fori=2TokIfxModi=0ThenExitDoEndIfNextiIfi>kThenPrintxExitForEndIfNextxEndSub661163程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问[100,300]之间有多少个这样的数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimnlAsInteger,n2AsIntegerDimxAsIntegerDimiAsIntegern2=0Forx=100To300n2=0Fori=1To100IfxModi=0Thennl=nl+1EndIfNextiIfxModnl=0Thenn2=n2+1EndIfNextxPrintn2EndSub19164■程序功能:若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。求口,200]之间有多少个多因子完备数。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimNAsIntegerDimsAsIntegerDimiAsIntegerDimcAsIntegerc=0ForN=1To200s=0Fori=1ToNIfNModi<>0Thens=s+iEndIfNextiIfNMods=0Thenc=c+1EndIfNextNPrintcEndSub4165程序功能:我国今年的国民生产总值为45600亿元,若今后每年以9%的增长率增长,计算多少年后能实现国民生产总值翻•番?PrivateSubCommandlClick()DimpAsLong,plAsLongDimnAsIntegern=0pl=45600p二9 32程序中有错误。改正错误,使它能输出正确的结果。plDop=p*(1+9%)n=n+1LoopUntilp<2*plPrintnEndSub166程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数中最大的数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimNAsIntegerDimsAsIntegerDimiAsIntegerForN=300To100s=0Fori=1ToNIfNModi=0Thens=s+1EndIfNextiIfsModN=0ThenPrintNExitForEndIfNextNEndSub296167程序功能:有一-个三位数满足下列条件:(D三位数字各不相同;(2)此数等于它的各位数字的立方和。求这种三位数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimaAsIntegerDimbAsIntegerDimcAsIntegerDimnAsIntegern=0x=100DoWhilex>=999a=Int(x/100)b=Int(x/10)-a*10c=x-a*100-b*10Ifa<>cOrbOcOraObOrx=a3+b3+c3Thenn=n+1EndIfx=x+1LoopPrintnEndSub4168程序功能:求「130所有整数的立方和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsAsIntegerDimxAsIntegerx=1s=0DoWhilex>130s=s+x3x=x+1LoopPrintsEndSub72505225169程序功能:求「210之间所有整数的立方和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsAsIntegerDimxAsIntegerx=ls=0Dos=s+x3x=x+1Whilex<=210PrintsEndSub490844025170程序功能:计算1000以内,既能被6整除又能被8整除的数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimnAsIntegerDimxAsIntegerx=1n=0DoWhilex<=1000IfxMod6=0OrxMod8=0Thenn=n+1Endcasex=x+1LoopPrintnEndSub41171程序功能:求1〜60之间所有整数的平方和。程序中有错误。改PrivateSubCommand1_C1ick()DimsAsinteger73810 33正错误,使它能输出正确的结果。DimxAsIntegers=0Forx=1To60s=s+x2NextsPrintsEndSub172程序功能:求[2,500]之间的所有素数之和。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimxAsIntegerDimflagAsBooleanDimsumAsLongDimiAsIntegersum=0Forx=3To500flag=TrueFori=2Tox-lIfxModi=0Thenflag=FalseExitForEndIfNextiIfnotflagThensum=sum+xEndIfNextxPrintsumEndSub21534173程序功能:求[3T000]之间最大的五个素数之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandIClickODimxAsIntegerDimsumAsIntegerDimiAsIntegerDimflagAsBooleanDimnAsIntegern=0sum=0x=1000Doflag二TrueFori=2Tox-1IfxModi=0Thenflag=FalseExitDoEndIfNextiIfflagThensum=sum+xn=n+llfn=5ThenExitDoEndIfEndIfx=x-1LoopWhilex<=3PrintsumEndSub4919171程序功能:求[100,200]之间有奇数个不同因子的整数的个数。程序中有错误改正错误,使它能输出正确的结果。PrivateSubCommandlClick()DimnlAsInteger,n2AsIntegerDimxAsInteger,iAsIntegernl=0:n2=0Forx=100To200n2=0Fori=1To100IfxModi=0Thenn2=n2+1EndIfNextiIfn2Mod2=0Thennl=nl+1EndIfNextxPrintnlEndSub5175程序功能:将50元兑换成5元、2元和1元的方法(每种面额不能为0)的种数。程序中有错误。改正错误,使它能输出正确的结枭PrivateSubCommandl_Click()DimxAsIntegerDimyAsIntegerDimzAsIntegerDimnAsIntegerForx=1To10Fory=0To25Forz=0To50Ifx+y+z=50Thenn=n+1End80 34IfNextzNextyNextxPrintnEndSub176程序功能:将50元兑换成5元、2元和1元的方法(每种面额不能为0)的种数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimyAsIntegerDimzAsIntegerDimnAsIntegerForx=1To10Fory=0To25Forz=0To50Ifx+y+z=50Thenn=n+1EndIfNextzNextyNextxPrintnEndSub80177程序功能:程序功能:设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,求所有这样的四位数之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimaAsIntegerDimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerDimsumAsIntegersum=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+c=b*dThensum=sum+xEndIfNextxPrintsumEndSub1078289178程序功能:求在[10,1000]之间的所有完数之和。各真因子之和(不包括自身)等于其本身的正整数称为完数。例如:6=1+2+3,6是完数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsumAsIntegerDimxAsInteger,kAsIntegerDimiAsIntegersum=0Forx=10To1000k=xFori=1ToxIfxModi=0Thenx=x-iEndIfNextiIfk=0Thensum=sum+xEndIfNextxPrintsumEndSub524179程序功能:求[3333,6666]之间所有能被5和7整除的数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimnAsIntegerDimxAsIntegern=0x=3333Whilex<=6666IfxMod5=0OrMod7=0Thenn=n+1EndIfx=x+1LoopPrintnEndSub95180程序功能:求各位数字的平方和为100,且能被3整除的四位数PrivateSubCommand1_C1ick()DimaAsInteger24 35的个数。程序中有错误。改正错误,使它能输出正确的结果。DimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerDimnAsIntegern=0Forx=1000To9999a=Int(x/1000)b二Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa-2+「2+「2+「2=100AndMod(x,3)=0Thenn=n+1EndIfNextxPrintnEndSub181程序功能:若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如:由于7396=86-2,且7+3+9+6=25=5e2,则称7396是“四位双平方数”。求最小的“四位双平方数”。程序中有行两有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClickODimaAsIntegerDimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerForx=1000To9999a=Int(x/1000)b=Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10IfSqr(x)=Int(Sqr(x))AndSqr(a+b+c+d)=Sqr(a+b+c+d)ThenPrintxExitForEndIfNextxEndSub1521182程序功能:计算y=l+2/3+3/5+4/7+…+n/(2*nT)(n=50),要求:按四舍五入的方式精确到小数点后第二位。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimsAsSingleDimnAsIntegers=0Forn=1To50s=s+n/2*n-1NextnPrintsEndSub26.47183程序功能:求当N=20时,1/(1*2)+1/(2*3)+1/(3*4)+….+1/(N*(N+1))的值。要求:按四舍五入的方式精确到小数点后第二位。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimsAsIntegerDimnAsIntegers=0n=1DoWhilen<=20s=s+l/n*(n+1)n=n+1LoopPrintFormat(s,〃0.##")EndSub0.95184程序功能:回文数是指正读和反读都一样的正整数。例如3773是回文数。求出[1000,9999]之间的奇数回文数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimaAsIntegerDimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerDimnAsIntegern=50 360Forx=1000To9999a=Int(x/1000)b-Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa=bOrd=cAndxMod200Thenn=n+1EndIfNextxPrintnEndSub185程序功能:求m=50时,表达式t=l-l/(2*2)-l/(3*3)l/(m*m)的值。要求:按四舍五入的方式精确到小数点后第四位。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimtAsSingleDimmAsIntegerm=2t=1DoWhilem<=50t=t-l/m*mm=m+lLoopPrint(t,〃0.####〃)EndSub0.3749186程序功能:求[10,1000]之间满足除以7余5、除以5余3、除以3余1的所有整数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimnAsIntegern=0Forx=10To1000IfxMod7=5OrxMod5=3OrxMod3=1Thenn=n+1EndIfLoopPrintnEndSub9187程序功能:求1到5000之间的能被5整除的前若干个奇数数之和,直到和大于500为止。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimsAsIntegerDimnAsIntegern=0s=0Forx=1To5000Ifmod(x,5)=0Thens=s+xEndIfIfs>500ThenExitForNextxPrintsEndSub605188■程序功能:求1到5000之间的能被5整除的前若干个偶数之和,直到和大于500为止。程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimsAsIntegerDimnAsIntegern=0s=0Forx=2To5000Ifmod(x,5)=0Thens=s+xEndIfIfs>500ThenExitForNextxPrintsEndSub550189程序功能:求出1到5000之间的能被5整除的前若干个奇数之和,当和大于600时程序退出。程序中有两行错误。改正错误,PrivateSubCommand1_Click()DimxAsIntegerDimsAsIntegerDimnAsIntegern=0s=0605 37使它能输出正确的结果。Forx=1To5000IfxMod5=0Thens=s+xEndIfIfs<=600ThenExitForNextxPrintsEndSub190程序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()s=0cock=1DoWhilecock<=100/5hen=1DoWhilehen<=100/3-cockchick=100-cock-henIfcock+hen+chick=100Thens=s+1EndIfhen=hen+1Loopcock=cock+1LoopPrintsEndSub3191程序功能:求500以内最大的10个能被13或17整除的自然数之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimsAsIntegerDimnAsIntegerDimxAsIntegers=0:n=0x=500DoWhilex>=1IfxMod13=0andxMod17=0Thens=s+xn=n+lEndIfIfn=10ThenExitDox=x+1LoopPrintsEndSub4622192程序功能:求10的阶乘,程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()Printfun(10)EndSubPrivateFunctionfun(nAsInteger)AsIntegerIfn>0Thenfun=1Elsefun=n*fun(n-1)EndIfEndFunction3628800193程序功能:求S=l+l/2+l/3+……+1/100,程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()suml=sumd(100)PrintsumlEndSubPrivateFunctionsumd(nAsInteger)AsSinglei=0Doi=i+ls=s+l/iLoopUntili 38Forj=2TokIf(kModj=0AndIsprime(j))Thens=s+jEndIfNextjPrintsEndSubPrivateFunctionIsprime(nAsInteger)AsIntegerDimiAsIntegerDimflagAsBooleanflag=TrueIfn=2ThenIsprime=TrueElseFori=2Ton-1IfnModi=0Thenflag=FalseExitForEndIfNextiIsprime=falseEndIfEndFunction195程序功能:求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0〜9之间的一位整数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClickODimiAsIntegerDimjAsIntegerDimkAsIntegerDimnAsIntegern=0Fori=0To9Forj=0To9Fork=0To9Ifijk+kji=1333Thenn=n+1EndIfNextkNextjNextiPrintnEndSub6196程序功能:求共有儿组i、j、k符合算式ijk+kji=1534,其中i、j、k是0~9之间的一位整数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimiAsIntegerDimjAsIntegerDimkAsIntegerDimnAsIntegern=0Fori=0To9Forj=0To9Fork=0To9Ifijk+kji=1534Thenn=n+1EndIfNextkNextjNextiPrintnEndSub5H197程序功能:求所有符合算式ij*ji=1300的最小数ij。其中i、j是1、9之间的一位整数。程序中有两类错误。改正错误,使它能输出正确的结果。PrivateSubCommandIClickODimiAsIntegerDimjAsIntegerFori=1To9Forj=1To9Ifij*ji=1300ThenPrint10*i+jExitForEndIfNextiIfij*ji=1300ThenExitForEndIfNextjEndSub25198程序功能:求所有符合算式ij*ji=1300的最大数i_j。其中i、j是「9之间的一位整数。程序中有两类错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimiAsIntegerDimjAsIntegerFori=9To1Forj=9To1Ifij+ji=1300ThenPrint10*i+jExitFor52 39EndIfNextjIfij+ji=1300ThenExitForEndIfNextiEndSub199程序功能:求四位奇数中,所有各位数字之和是25的倍数的数之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimaAsIntegerDimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerDimsiAsIntegerDims2Aslongs2=0Forx=1000To9999Step2si=0a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10sl=a+b+c+dIfmod(si,25)=0Thens2=s2+xEndIfNextxPrints2EndSub1298515200程序功能:回文数是指正读和反读都一样的正整数。例如3773是回文数。求[1000,9999]之间的奇数回文数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()n=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)一a*100c=Int(x/10)-a*100-b*10d二x-a*1000-b*100-c*10Ifa=bOrd=cAndxMod200Thenn=n+1EndIfNextxPrintnEndSub50201程序功能:根据整型参数m(m=50)的值,计算公式1-1/(2*2)-1/(3*3)-…-的值。程序中的用户自定义函数有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()PrintFormat(fun(5),〃0.######")EndSubPrivateFunctionfun(nAsInteger)AsIntegrDimtAsSingleDimiAsIntegeri=2:t=1DoWhilei 40IntegerDimpiAsSinglepi=0Fori=1Tonpi=pi+(-1)-(n-1)/(2*i-1)Nextifun=pi*4EndFunction20:-!程序功能:根据整型参数m,计算1-m的平方根的倒数之和(m=50)o程序中的用户自定义函数有错误,改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()PrintFormat(fun(5),〃#.######")EndSubPrivateFunctionfun(mAsInteger)AsIntegerDimiAsIntegerDimtAsSingleDimyAsSingley=0Fori=1Tomt=1/Sqr(i)y=y+tNextifun=tEndFunction12.75238204程序功能:用公式pi/4=l-l/3+l/5-l/7+…求pi(pi为圆周率)的近似值(保留4位小数),直到最后一项的绝对值小于指定的数(参数num)为止。程序中的用户自定义函数有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()PrintFormat(fun(0.0001),####")EndSubPrivateFunctionfun(numAsSingle)AsSingleDimsAsInteger,nAsIntegerDimpiAsSingle,tAsSinglepi=0:t=1:s=1:n=1While(t>=num)pi=pi+tn=n+2s=-st=s%nWendpi=pi*4fun=piEndFunction3.1414205程序功能:根据以下公式pi/2=l+l/3+l/3*2/5+l/3*2/5*3/7+l/3*2/5*3/7*4/9+…求pi(pi为圆周率)的值(保留6位小数)。当最后一项的值小于0.0005时停止计算。程序中有错误,改正错误,使它能输出正确的结果。PrivateSubCommandlClick()PrintFormat(fun(0.0005),〃#.######〃)EndSubPrivateFunctionfun(epsAsSingle)AsIntegerDimsAsSingle,tAsSingleDimnAsIntegers=0:t=0:n=lWhile(t>eps)s=s+tt=t*n/(2*n+1)n=n+1Wendfun=2*sEndFunction3.140578206程序功能:•个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。求[1,1000]之间的所有“同PrivateSubCommandl_Click()S=0Forx=1To1000y=Len(Trim(Str(x)))i=x*xSelectyCase1Ifx=Vai(Right(Trim(Str(i)),1))Then1114 41构数”之和。程序中有错误,改正错误,使程序能输出正确的结果。s=s+xEndIfCase2IfxzVai(Right(Trim(Str(i)),2))Thens=s+xEndIfCase3Ifx=Vai(Right(Trim(Str(i)),3))Thens=s+xEndIfCase4Ifx=Vai(Right(Trim(Str(i)),4))Thens=s+xEndIfEndSelectNextxPrintsEndSub207程序功能:按以下递归公式求函数的值。程序中有错误,改正错误,使它能输出正确结果。n=l时fun(n)=10n>l时fun(n)=fun(n-l)+2PrivateSubCommandl_Click()Printfun(10)EndSubPrivateFunctionfun(nAsInteger)AsIntegerDimcAsIntegerIfn=1Thenc=10Elsec=fun(n-1)+2EndIfFunl=cEndFunction28208程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:321移成132),新三位数大于原三位数的两倍。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Fori=0To9Forj=0To9Fork=0To9n=100*i+10*j+km=100*k+10*i+jIfm>=2*nThenPrintnNextkNextjNextiEndSub102209程序功能:计算两个数的最大公约数。程序中有错误,改正错误,使程序能输出正确结果。PrivateSubCommand1_C1ick()Printfun(1248,25736)EndSubPrivateFunctionfun(u%,v%)AsIntegerDimtemp%,t%Ifu 42构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。求[1,1000]之间的所有“同构数”之和。程序中有错误,改正错误,使程序能输出正确的结果。1000y=Len(Trim(Str(x)))i=x*xSelectyCase1Ifx=Right(Trim(Str(i)),1)Thens=s+xEndIfCase2Ifx=Vai(Right(Trim(Str(i)),2))Thens=s+xEndIfCase3Ifx=Vai(Right(Trim(Str(i)),3))Thens=s+xEndIfCase4Ifx=Vai(Right(Trim(Str(i)),4))Thens=s+xEndIfEndSelectNextxPrintsEndSub212程序功能:求1900年〜2003年之间所有非闰年年号之和。改正错误,使程序能输出正确的结果。(年号能被400整除的是闰年,或者被4整除但不能被100整除的是闰年)PrivateSubCommand1_C1ick()Dimyear%Foryear=1900To2003If(yearMod400=0)and(yearMod4=0OryearMod100<>0)Thens=s+yearEndIfNextyearPrintsEndSub154156213程序功能:求[100,999]之间满足以下条件的数的个数.⑴其个位数字与十位数字之和除以10所得的余数等于百位数字;⑵该数是素数。程序中有错误。改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimx%,a%,b%,c%,s%,j%DimflagAsBooleanForx=100To999a=x/100b=Int(x/10)-a*10c=x-a*100-b*10flag=TrueForj=2Tox-1IfxModj=0Thenflag=FalseExitForEndIfNextjIfb+cMod10=aAndflagThens=s+1EndIfNextxPrintsEndSub15214程序功能:一个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。求[1,1000]之间的“同构数”的个数。PrivateSubCommand1_C1ick()Dimx%,s%DimyAsLongForx=1To1000y=x2SelectCasexCase1To9Ifx=Vai(Right(Trim(Str(y)),1))Thens=s+1Case10To99Ifx=Vai(Right(Trim(Str(y)),3))Thens=s+1Case100To999Ifx=Vai(Right(Trim(Str(y)),3))Thens=s+1EndcaseNextxPrints7 43215程序功能:求字符串"ThisismyBasic”所有字符的ASCII码之和。程序中有错误。改正错误,使程序能输出正确结果。PrivateSubCommand1_C1ick()Dims$,i%Dimsum&sum=0s="ThisismyBasic“Fori=1Tossum=sum+chr(Mid$(s,i,1))NextiPrintsumEndSub1436216程序功能:先分别求字符串中数字字符的ASCII码之和digit,字母字符的ASCII码之和alphao再输出alpha-digit的值。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandlClickODimstr$,ch$Dimi%,digit&,alpha&digit=0:alpha=0str$=z,87IM&2345kjwdssdcf,zFori=1Tostrch=Mid$(str,i,1)SelectCasechCase0To9digit二digit+Asc(ch)CaseAToZalpha=alpha+Asc(ch)CaseaTozalpha=alpha+Asc(ch)EndSelectNextiPrintalpha-digitEndSub769217程序功能:求四位奇数中,各位数字之和是25的倍数的数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimx%,a%,b%,c%,d%Dimnuml&numl=0Forx=1001To9999a=Int(x/1000)b=Int(x/100)-a*10c二Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+b+c+dMod25=0Thennuml=numl+xEndIfNextxPrintnumlEndSub1298515H218程序功能:求四位偶数中,各位数字之和是30的倍数的数之和。程序中有错误,改正错误,使程序能输出正确结果。PrivateSubCommand1Click()Dimx%,a%,b%,c%,d%Dimnuml&numl=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+b+c+dMod30=0Thennuml=numl+xEndIfNextxPrintnumlEndSub288840219程序功能:求满足以下条件的(a,b,c)的组数:(1)PrivateSubCommand1_C1ick()Dimc%,b%,a%,2 44l/(a*2)+l/(b*2)=l/(c*2);(2)a>b>c;(3)a+b+c<100.程序中有错误,改正错误,使程序能输出正确的结果。s$s=0Forc=1To100Forb=1To100Fora=1To100Ifa+b+c<100Or1/(a2)+1/(b"2)=1/(c2)Thens=s+1Nexta,b,cPrintsEndSub220程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a-2)+l/(b'2)=l/(c"2);(2)a>b>c;(3)a+b+c<50.程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1Click()Dimc%,b%,a%,s$s=0Forc=1To50Forb=1To50Fora=1To50Ifa+b+c<50Or1/(a*2)+1/(b2)=1/(c2)Thens=s+1Nexta,b,cPrintsEndSub1221程序功能:求四位奇数中,所有各位数字之积(积不为0)是60的倍数的数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimx%,a%,b%,c%,d%Dimnuml&numl=0Forx=1001To9999a=Int(x/1000)b=Int(x/100)-a*10c二Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa*b*c*dMod60=0Thennuml=numl+xEndIfNextxPrintnumlEndSub3456254222程序功能:所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。求100~200之间所有回文数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1Click()Dima%,b%,c%,x%,s%s=0Forx=100To200a=x/100b二x/10-a*10c=x-a*100-b*10Ifa=cThens=s+xNextPrintsEndSub1460223程序功能:求10010000之间每位数字之和等于5的整数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandlClickODimk%,i%,i1%,12%,i3%,i4%k=0Fori=100To5000SelectCaseiCase104To500il=Int(i/100)i2=Int((i-il*100)/10)i3=i-il*100-i2*10Ifil+i2+i3=5Thenk=k+1Case1004To5000il=Int(i/1000)i2=Int((i-50 45il*1000)/10)i3=Int((i-il*1000-i2*100)/10)i4=i-il*1000-i2*100-i3*10Ifil+i2+i3+i4=5Thenk=k+1EndcaseNextiPrintkEndSub224程序功能:求[1000,9999]之间能被7整除,且每位数字之和等于6的整数倍的数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_Click()Fora=1To9Forb=1To9Forc=1To9Ford=1To9m=a*1000+b*100+c*10+dIf(a+b+c+d)Mod6=0ormMod7=0Thenn=n+1Nextd,c,b,aPrintnEndSub215225程序功能:某班级有学生若干名,依次编号为1,2,3,……,除去编号1与2的两名学生外,所有学生编号之和是100的整数倍,如果知道学生编号之和小于1000,问共有学生多少人。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimk%,i%'i为学生人数,K为学生编号之和DimflagAsBooleank=0i=3flag=falseWhileflagk=k+1Ifk/100<>Int(k/100)Theni=i+1Elseflag=FalseEndIfWendPrintiEndSub37226程序功能:某试卷由26个问题组成,答对一题得8分,答错一题扣5分。今有一考生虽然回答了全部26个问题,但所得总分为零,问他错答多少题。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimi%,j%'i代表正确数,j代表错误数Fori=1To26j=26-iIf8*i<>5*jThenPrinti,jNextiEndSub16227■程序功能:在一个正整数序列中,第一项是1978,第二项是1979,从第三项起每一项等于前二项的差的绝对值,问此数列有多少项。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimkl%,k2%,i%,k%i=2kl=1978;k2=1979k=Abs(k2-kl)While(k2>0)kl=k2k2=kk=Abs(k2-kl)i=i+1WendPrintiEndSub2970228程序功能:求个位数是6,且能被3整除的所有四位数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimi%Dims&s=0Fori=1000To9999IfiMod3=0Ori1653300 46Mod1000=6Thens=s+iEndIfNextiPrintsEndSub229程序功能:有一堆零件(零件个数不超过1000),如果分成4个零件-一组余2个;7个一组余3个;9个一组余5个。求这堆零件的个数有几种可能。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimi%,x%Forx=1To1000IfxMod4=2OrxMod7=3OrxMod9=5Theni=i+1EndIfNextxPrintiEndSub4230程序功能:求1〜200之间勾股数的组数(如a*a+b*b=c*c,则a,b,c为一组勾股数)。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandlClick()DimaAsLongDimbAsLongDimcAsLongDimiAsIntegeri=0Fora=3To199Forb=a+1To200Step2Forc=5To200If「2◊a-2+b-2Theni=i+1EndIfNextcNextaNextbPrintiEndSub75231程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:123移成312),新三位数大于原三位数的两倍。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimi%,j%,k%,n%,m%Fori=1To9Forj=0To9Fork=1To9n=100*i+10*k+jm=100*k+10*j+iIfn>=2*mOrn<=3*mThenPrintmNextkNextjNextiEndSub102232■程序功能:给定一个100行和100列的整数方阵,求左上至右下对角线上各元素之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivatetempOptionBase1PrivateSubCommand1_C1ick()Dimi%,j%Dims&Dima(100,100)AsLongs=0Fori=1To100Forj=1To100a(i,j)=i*j'请不要修改此行。NextiNextjFori=1To100s=s+a(i,i)NextiPrintsEndSub338350程序功能:用子程序来计算12的阶乘,程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Calln(12)EndSubPublicSubn(aAsInteger)DimiAsInteger479001600 47DimfAsIntegerf=0Fori=lToaf=f*iNextiPrintfEndSub234程序功能:求各位数字之积小于各位数字之和的三位数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_Click()Dimc%,x%,xl%,x2%,x3%c=0Forx=100To999xl=xMod100x2=Int(x/10)-xl*10x3=int(x/10)Ifxl*x2*x3 48238程序功能:利用函数pd计算「5000之间能被17和37整除的数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()DimiAsIntegerDimsAsIntegers=0Fori=1To5000Ifpd(i)Thens=s+1NextiPrintsEndSubPrivateFunctionpd(xAsInteger)AsBooleanIfxMod17=0OrxMod37=0Thenpd=TrueElsepd=FalseEndIfEndFunction7239程序功能:求大于数组元素平均值的数组元素的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()'数据准备Dima(100)DimiFori=1To100a(i)=i*10+5Nexti'数据准备Sum=0Fori=1To100Sum=Sum+a(i)Nextiave=Sum/100Fori=1To100Ifa(i)>aveThenc=c+a(i)NextiPrintcEndSub50210程序功能:求S=l+l/2+l/3+……+1/100,程序中有两行错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClick()suml=sumd(100)PrintsumlEndSubPrivateFunctionsumd(nAsInteger)AsSinglei=0Doi=i+ls=s+l/iLoopUntili 49213程序功能:求所有符合算式ij*ji=1300的最小数ij。其中i、j是1~9之间的一位整数。程序中有两类错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimiAsIntegerDimjAsIntegerFori=1To9Forj=1To9Ifij*ji=1300ThenPrint10*i+jExitForEndIfNextiIfij*ji=1300ThenExitForEndIfNextjEndSub25211程序功能:求所有符合算式ij*ji=1300的最大数ijo其中i、j是「9之间的一位整数。程序中有两类错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimiAsIntegerDimjAsIntegerFori=9To1Forj=9To1Ifij+ji=1300ThenPrint10*i+jExitForEndIfNextjIfij+ji=1300ThenExitForEndIfNextiEndSub52215程序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()s=0cock=1DoWhilecock<=100/5hen=1DoWhilehen<=100/3-cockchick=100-cock-henIfcock+hen+chick=100Thens=s+1EndIfhen=hen+1Loopcock=cock+1LoopPrintsEndSub3246程序功能:回文数是指正读和反读都一样的正整数。例如3773是回文数。求[1000,9999]之间的奇数回文数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandlClickOn=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa=bOrd=cAndxMod200Thenn=n+1EndIfNextxPrintnEndSub50217程序功能:求各位数字的平方和为100,且能被3整除的四位数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimaAsIntegerDimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerDimnAsIntegern=0Forx=1000To9999a=Int(x/1000)b二24 50Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa-2+「2+-2+d-2=100AndMod(x,3)=0Thenn=n+1EndIfNextxPrintnEndSub21S程序功能:用公式pi/4=l-l/3+l/5T/7+…求pi(pi为圆周率)的近似值。程序中有错误,改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()PrintFormat(fun(500),〃#.######")EndSubPrivateFunctionfun(nAsInteger)AsIntegerDimiAsIntegerDimpiAsSinglepi=0Fori=1Tonpi=pi+(-1)-(n-1)/(2*i-1)Nextifun=pi*4EndFunction3.139593249程序功能:求[3333,6666]之间所有能被5和7整除的数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimnAsIntegerDimxAsIntegern=0x=3333Whilex<=6666IfxMod5=0OrMod7=0Thenn=n+1EndIfx=x+1LoopPrintnEndSub95250程序功能:求[200,300]之间的有奇数个不同因子的最大整数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimxAsIntegerDimiAsIntegerDimnAsIntegerForx=300To200n=0Fori=1ToxIfxModi=0Thenn=n+1EndIfNextiIfn/2<>0ThenPrintxExitForEndIfNextxEndSub289251程序功能:求在[10,1000]之间的所有完数之和。各真因子之和(不包括自身)等于其本身的正整数称为完数。例如:6=1+2+3,6是完数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimsumAsIntegerDimxAsInteger,kAsIntegerDimiAsIntegersum=0Forx=10To1000k=xFori=1ToxIfxModi=0Thenx=x-iEndIfNextiIfk=0Thensum=sum+xEndIfNextxPrintsumEndSub524 51252程序功能:一个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。求[1,1000]之间的所有“同构数”之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()S=0Forx=1To1000y=Len(Trim(Str(x)))i=x*xSelectyCase1Ifx=Vai(Right(Trim(Str(i)),1))Thens=s+xEndIfCase2Ifx=Vai(Right(Trim(Str(i)),2))Thens=s+xEndIfCase3Ifx=Vai(Right(Trim(Str(i)),3))Thens=s+xEndIfCase4Ifx=Vai(Right(Trim(Str(i)),4))Thens=s+xEndIfEndSelectNextxPrintsEndSub1114253程序功能:按以下递归公式求函数的值。程序中有错误,改正错误,使它能输出正确结果。n=l时fun(n)=10n>l时fun(n)=fun(n-l)+2PrivateSubCommandl_Click()Printfun(10)EndSubPrivateFunctionfun(nAsInteger)AsIntegerDimcAsIntegerIfn=1Thenc=10Elsec=fun(n-1)+2EndIfFunl=cEndFunction28254程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:321移成132),新三位数大于原三位数的两倍。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_Click()Fori=0To9Forj=0To9Fork=0To9n=100*i+10*j+km=100*k+10*i+jIfm>=2*nThenPrintnNextkNextjNextiEndSub102H255程序功能:计算两个数的最大公约数。程序中有错误,改正错误,使程序能输出正确结果。PrivateSubCommand1_C1ick()Printfun(1248,25736)EndSubPrivateFunctionfun(u%,v%)AsIntegerDimtemp%,t%Ifu 52=s+yearEndIfNextyearPrintsEndSub257程序功能:•个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。求[1,1000]之间的所有“同构数”之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()S=0Forx=1To1000y=Len(Trim(Str(x)))i=x*xSelectyCase1Ifx=Right(Trim(Str(i)),1)Thens=s+xEndIfCase2Ifx=Vai(Right(Trim(Str(i)),2))Thens=s+xEndIfCase3Ifx=Vai(Right(Trim(Str(i)),3))Thens=s+xEndIfCase4Ifx=Vai(Right(Trim(Str(i)),4))Thens=s+xEndIfEndSelectNextxPrintsEndSub1114258程序功能:求1900年〜2003年之间所有非闰年年号之和。改正错误,使程序能输出正确的结果。(年号能被400整除的是闰年,或者被4整除但不能被100整除的是闰年)PrivateSubCommand1_C1ick()Dimyear%Foryear=1900To2003If(yearMod400=0)and(yearMod4=0OryearMod100<>0)Thens二s+yearEndIfNextyearPrintsEndSub154156259程序功能:求[100,999]之间满足以下条件的数的个数.⑴其个位数字与十位数字之和除以10所得的余数等于百位数字;⑵该数是素数。程序中有错误。改正错误,使程序能输出正确的结果。PrivateSubCommand1Click()Dimx%,a%,b%,c%,s%,j%DimflagAsBooleanForx=100To999a=x/100b=Int(x/10)-a*10c=x-a*100-b*10flag=TrueForj=2Tox-1IfxModj=0Thenflag=FalseExitForEndIfNextjIfb+cMod10=aAndflagThens=s+1EndIfNextxPrintsEndSub15260程序功能:一个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。求[1,1000]之间的“同构数”的个数。PrivateSubCommand1_C1ick()Dimx%,s%DimyAsLongForx=1To1000y=x2SelectCasexCase1To9Ifx=Vai(Right(Trim(Str(y)),1))Thens=s+1Case10To99Ifx=Vai(Right(Trim(Str(y)),3))Thens=s+1Case7 53100To999Ifx=Vai(Right(Trim(Str(y)),3))Thens=s+1EndcaseNextxPrints261程序功能:求字符串“ThisismyBasic"所有字符的ASCII码之和。程序中有错误。改正错误,使程序能输出正确结果。PrivateSubCommand1_Click()Dims$,i%Dimsum&sum=0s="ThisismyBasic"Fori=1Tossum=sum+chr(Mid$(s,i,1))NextiPrintsumEndSub1436262程序功能:程序功能:设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,求所有这样的四位数之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_Click()DimaAsIntegerDimbAsIntegerDimcAsIntegerDimdAsIntegerDimxAsIntegerDimsumAsIntegersum=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*100c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+c=b*dThensum=sum+xEndIfNextxPrintsumEndSub1078289263程序功能:求四位奇数中,各位数字之和是25的倍数的数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1Click()Dimx%,a%,b%,c%,d%Dimnuml&numl=0Forx=1001To9999a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+b+c+dMod25=0Thennuml=numl+xEndIfNextxPrintnumlEndSub1298515264程序功能:求四位偶数中,各位数字之和是30的倍数的数之和。程序中有错误,改正错误,使程序能输出正确结果。PrivateSubCommandl_Click()Dimx%,a%,b%,c%,d%Dimnumlfenuml=0Forx=1000To9999a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa+b+c+dMod288840 5430=0Thennuml=numl+xEndIfNextxPrintnumlEndSub265程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a'2)+l/(b*2)=l/(c"2);(2)a>b>c;(3)a+b+c<100o程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimc%,b%,a%,s$s=0Forc=1To100Forb=1To100Fora=1To100Ifa+b+c<100Or1/(a*2)+1/(b2)=1/(c2)Thens=s+1Nexta,b,cPrintsEndSub2266程序功能:求满足以下条件的(a,b,c)的组数:(1)l/(a*2)+l/(b^2)=l/(c*2);(2)a>b>c;(3)a+b+c<50.程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimc%,b%,a%,s$s=0Forc=1To50Forb=1To50Fora=1To50Ifa+b+c<50Or1/(a2)+1/(b*2)=1/(c-2)Thens=s+1Nexta,b,cPrintsEndSub1267程序功能:求四位奇数中,所有各位数字之积(积不为0)是60的倍数的数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1Click()Dimx%,a%,b%,c%,d%Dimnuml&numl=0Forx=1001To9999a=Int(x/1000)b=Int(x/100)-a*10c=Int(x/10)-a*100-b*10d=x-a*1000-b*100-c*10Ifa*b*c*dMod60=0Thennuml=numl+xEndIfNextxPrintnumlEndSub3456254268■程序功能:所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。求100〜200之间所有回文数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dima%,b%,c%,x%,s%s=0Forx=100To200a=x/100b=x/10-a*10c=x-a*100-b*10Ifa=cThens=s+xNextPrintsEndSub1460269程序功能:求100~10000之间每位数字之和等于5的整数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()Dimk%,i%,il%,i2%,i3%,i4%k=0Fori=100To5000Select50 55CaseiCase104To500il=Int(i/100)i2=Int((i-il*100)/10)i3=i-il*100-i2*10Ifil+i2+i3=5Thenk=k+1Case1004To5000il=Int(i/1000)i2=Int((i-il*1000)/10)i3=Int((i-il*1000-i2*100)/10)i4=i-il*1000-i2*100-i3*10Ifil+i2+i3+i4=5Thenk=k+1EndcaseNextiPrintkEndSub270程序功能:求[1000,9999]之间能被7整除,且每位数字之和等于6的整数倍的数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Fora=1To9Forb=1To9Forc=1To9Ford=1To9m=a*1000+b*100+c*10+dIf(a+b+c+d)Mod6=0ormMod7=0Thenn=n+1Nextd,c,b,aPrintnEndSub215271程序功能:把一张一元钞票,换成…分、二分和五分硬币,每种至少8枚,求方案数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimxAsIntegerDimyAsIntegerDimzAsIntegerDimnAsIntegern=0Forx=1To100Fory=8To50Forz=8To20Ifx+y+z=100Thenn=n+1EndIfNextzNextyNextxPrintnEndSub80H272程序功能:求[3T000]之间最大的五个素数之和。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandIClickODimxAsIntegerDimsumAsIntegerDimiAsIntegerDimflagAsBooleanDimnAsIntegern=0sum=0x=1000Doflag二TrueFori=2Tox-1IfxModi=0Thenflag=FalseExitDoEndIfNextiIfflagThensum=sum+xn=n+llfn=5ThenExitDoEndIfEndIfx=x-1LoopWhilex<=3PrintsumEndSub4919 56273程序功能:求个位数是6,且能被3整除的所有四位数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_Click()Dimi%Dims&s=0Fori=1000To9999IfiMod3=0OriMod1000=6Thens=s+iEndIfNextiPrintsEndSub1653300271程序功能:有一堆零件(零件个数不超过1000),如果分成4个零件一组余2个;7个-一组余3个;9个--组余5个。求这堆零件的个数有几种可能。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimi%,x%Forx=1To1000IfxMod4=2OrxMod7=3OrxMod9=5Theni=i+1EndIfNextxPrintiEndSub4275程序功能:求[2,500]之间的所有素数之和。改正错误,使它能输出正确的结果。PrivateSubCommandIClickODimxAsIntegerDimflagAsBooleanDimsumAsLongDimiAsIntegersum=0Forx=3To500flag=TrueFori=2Tox-lIfxModi=0Thenflag=FalseExitForEndIfNextiIfnotflagThensum=sum+xEndIfNextxPrintsumEndSub21534276程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:123移成312),新三位数大于原三位数的两倍。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1Click()Dimi%,j%,k%,n%,m%Fori=1To9Forj=0To9Fork=1To9n=100*i+10*k+jm=100*k+10*j+iIfn>=2*mOrn<=3*mThenPrintmNextkNextjNextiEndSub102277■程序功能:计算1000以内,既能被6整除又能被8整除的数的个数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommand1_C1ick()DimnAsIntegerDimxAsIntegerx=1n=0DoWhilex<=1000IfxMod6=0OrxMod8=0Thenn=n+1Endcasex=x+1LoopPrintnEndSub41278程序功能:有一个三位数满足下列条件:(D三位数字各不相同;(2)此数等于它的各位数字的立方和。求这种三位数的个数。程PrivateSubCommand1_Click()DimxAsIntegerDimaAsIntegerDimbAsIntegerDimcAs4 57序中有错误。改正错误,使它能输出正确的结果。IntegerDimnAsIntegern=0x=100DoWhilex>=999a=Int(x/100)b=Int(x/10)-a*10c=x-a*100-b*10Ifa<>cOrbOcOraObOrx=a3+b3+c3Thenn=n+1EndIfx=x+1LoopPrintnEndSub279程序功能:建立一个过程来计算12的阶乘,程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Calln(12)EndSubPublicSubn(aAsInteger)DimiAsIntegerDimfAsIntegerf=0Fori=lToaf=f*iNextiPrintfEndSub479001600280程序功能:求各位数字之积小于各位数字之和的三位数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Dimc%,x%,xl%,x2%,x3%c=0Forx=100To999xl=xMod100x2=Int(x/10)-xl*10x3=int(x/10)Ifxl*x2*x3 58Format(min,〃#.#####")'该行不要修改EndSub283程序功能:已知数列的第1、2,3项分别为0,0,1,以后各项都是其相邻的前三项之和。函数fun的功能是:计算并输出该数列前11项的平方根之和sum。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()Printfun(10)EndSubPrivateFunctionfun(nAsInteger)AsSingleDimsumAsSingleDimk%,s0%,si%,s2%sO=0:si=0:s2=1sum=0Fork=4Tons=sO+si+s2sum=sum+Sqr(s)si=sO:s2=si:sO=sNextkfun=sumEndFunction23.19775284程序功能:已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数中最大的数。程序中有错误。改正错误,使它能输出正确的结果。PrivateSubCommandl_Click()DimNAsIntegerDimsAsIntegerDimiAsIntegerForN=300To100s=0Fori=1ToNIfNModi=0Thens=s+1EndIfNextiIfsModN=0ThenPrintNExitForEndIfNextNEndSub296285程序功能:利用函数pd计算1〜2000之间能被17和37整除的数之和。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommandl_Click()DimiAsIntegerDimsAsLongs=0Fori=1To2000Ifpd(i)Thens=s+iNextiPrintsEndSubPrivateFunctionpd(xAsInteger)AsBooleanIfxMod17=0OrxMod37=0Thenpd=TrueElsepd=FalseEndIfEndFunction3774286程序功能:利用函数pd计算「5000之间能被17和37整除的数的个数。程序中有错误,改正错误,使程序能输出正确的结果。PrivateSubCommand1_C1ick()DimiAsIntegerDimsAsIntegers=0Fori=1To5000Ifpd(i)Thens=s+1NextiPrintsEndSubPrivateFunctionpd(xAsInteger)AsBooleanIfxMod17=0OrxMod37=0Thenpd=TrueElsepd=FalseEndIfEndFunction7287程序功能:求[444,666]之间最大的素数是多少?程序中有错误。PrivateSubCommand1_C1ick()DimxAsInteger661 59改正错误,使它能输出正确的结果。DimiAsIntegerForx=666To444k=Int(Sqr(x))Fori=2TokIfxModi=0ThenExitDoEndIfNextiIfi>kThenPrintxExitForEndIfNextxEndSub288一辆以固定速度行驶的汽车,司机看到里程表上从左到右的读数和从右到左的读数是相同的,这个数是12321(公里),2小时后,里程表上再次出现一个新的对称数。问车的速度是多少公里/小时?PrivateSubForm_Click()DimmAsLongDimnAsLongDima(0To4)AsBytem=12321n=mDon=n+1Fori=0To4a(i)=n\10iMod10NextiPrint(n-m)/2EndSub50289n个人围成一圈(编号为1-n),从第1号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止。问当n=17时,剩下的人是多少号?PrivateSubForm_Click()ConstOUTAsInteger=-1DimnAsInteger,mAsInteger,iAsInteger,numlAsInteger,num2AsIntegerDima()AsIntegern=17m=3ReDima(n)Fori=1Tona(i)=iNextnuml=0DoFori=1TonIfa(i)<>OUTThenNuml=numl+1IfnumlModm=0Thennum2=num2+1Ifnum2=nThenPrinta(i);ExitDoEndIfEndIfEndIfNextiLoopEndSub11H290n个人围成一圈(编号为1-n),从第1号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止。问当n=37时,剩下的人是多少号?PrivateSubForm_Click()ConstOUTAsInteger=-1DimnAsInteger,mAsInteger,iAsInteger,numlAsInteger,num2AsIntegerDima()AsIntegern=37m=3ReDima(n)Fori=1Tona(i)=iNextnuml=0DoFori=1TonIfa(i)<>OUTThenNuml=numl+1IfnumlModm=0Thennum2=num2+1Ifnum2=nThenPrinta(i);ExitDoEndIf19 60EndIfEndIfNextiLoopEndSub291求数列f(n)=n*n+n+41的前100项中素数的个数PrivateSubForm_click()num=0Forn=1To100fn=n*n+n+41flag=1Form=2ToSqr(fn)IfThenflag=0ExitForEndIfNextIfflag=1Thennum=num+1EndIfNextnPrintnumEndSub86292求整数123456的质因子个数。如72=2*2*2*3*3,则因子个数为5oPrivateSubForm_Click()DimnAsLongDimmAsLongDimnumAsLongn=123456m=2While(m<=n)If(nModm=0)Thennum=num+1Elsem=m+1EndIfWendPrintnumEndSub8293求24738和24894的最大公约数。PrivateSubForm_click()DimaAsIntegerDimbAsIntegerDimiAsIntegerDimtAsIntegera=24738b=24894Ifa>bThent=a:a=b:b=ti=aDoWhilei=i-1LoopPrintiEndSub6294求24738和24894的最小公倍数。PrivateSubForm_click()DimaAsIntegerDimbAsIntegerDimiAsLonga=24738b=24894i=aDoWhilei=i+aLoopPrintiEndSub102637962295求[1000,20000]之间最大的素数PrivateSubForm_Click()DimnAsLongDimflagAsBooleann=20000Doflag=TrueForm=2ToSqr(n)IfnModm=0Then19997 61ExitForEndIfNextIfNotflagThenn=n-1EndIfLoopUntilflagPrintnEndSub296求[5000,6000]之间最小的素数PrivateSubForm_Click()DimnAsIntegerDimmAsIntegerDimnlsPrimeAsBooleanForn二5000To6000Form=2ToSqr(n)IfnModm=0ThennlsPrime=FalseExitForEndIfNextIfnlsPrimeThenPrintnExitForEndIfNextEndSub5003297求[8000,9000]之间最小的素数PrivateSubForm_Click()DimnAsIntegerDimmAsIntegerDimnlsPrimeAsBooleanForn=4000To5000Form=2ToSqr(n)IfnModm=0ThennlsPrime=FalseExitForEndIfNextIfnlsPrimeThenPrintnExitForEndIfNextEndSub8009298求12345最大的质因子PrivateSubForm_Click()DimnAsIntegerDimmAsIntegern=12345m=nDoIfThenPrintmExitDoElsem=m-1EndIfLoopEndSubFunctionIsPrime(nAsInteger)AsBooleanDimflagAsBooleanflag=TrueFori=2ToSqr(n)IfnModi=0Thenflag=FalseExitForEndIfNextIsPrime=flag823299求12349的最小质因子。PrivateSubForm_Click()DimnAsIntegerDimmAsIntegern=12349m=2DoIfThenPrintmExitDoElsem=m+1EndIfLoopEndSub53
此文档下载收益归作者所有