资源描述:
《visual foxpro程序题练习汇总.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、最新VF程序题练习一、程序改错1、求[10,2000]内所有能被7和9中至少一个数整除的整数之个数。settalkoffclearn=0forx=10to2000*下行有错ifmod(x,7)=0andmod(x,9)=0n=n+1endifendfor?nsettalkonreturn答案:4742、求[100,2000]内所有能被6整除但不能被9整除的整数之和。settalkoffclears=0forx=100to2000*下行有错ifmod(x,6)=0andmod(x,9)=0s=s+xendifendfor?ss
2、ettalkonreturn答案:3、求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。settalkoffclears=0forx=101to299ifmod(x,2)=0andnot(mod(x,3)=0andmod(x,5)=0)*下行有错x=s+xendifendfor?ssettalkonreturn答案:186304、求出的所有真因子(即小于它本身的约数)中最大的两个真因子之和。settalkoffcleara=s=0t=0forb=a-1to1STEP-1IFt<=2ifmod(b,a)=0
3、s=s+bt=t+1ENDIFELSEloopendifendfor?ssettalkonreturn答案:108645、求的所有非平凡因子(即除1和它本身以外的约数)中最小的。settalkoffcleara=forn=2toaifmod(a,n)=0*下行有错loopendifendfor?nsettalkonreturn答案:736、求和的最大公约数。settalkoffcleara=b=ford=2toa*下行有错ifmod(d,a)=0andmod(d,b)=0max=dendifendfor?maxsettalk
4、onreturn答案:20217、求[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。settalkoffclears=0forn=1to100*下行有错ifmod(n,6)=0andmod(n,8)=0*下行有错s=sqrt(s+n)endifendfor?round(s,0)settalkonreturn答案1628、求出[100,999]内恰有1位数字是7的所有整数之和。settalkoffsettalkoffclears=0forx=100to999a=int(x/100
5、)*下行有错b=INT(x-a*100)/10c=MOD(x,10)if(a=7ANDb!=7ANDc!=7)or(a!=7ANDb=7ANDc!=7)or(a!=7ANDb!=7ANDc=7)s=s+xendifendfor?ssettalkonreturn答案9、编写程序,计算10000以内有多少个这样的数,其个位数为6且该数能被9整除。settalkoffclean=0fori=1to10000ifmod(i,10)=6*下行有错ifmod(i,10)=9n=n+1endifendifendfor?nreturn答案1
6、1110、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数的个数。settalkoffcleac=0forn=100to300s=0fori=1ton*下行有错ifint(i/10)=0s=s+1endifendforifmod(n,s)=0c=c+1endifendfor*下行有错?ssettalkonreturn答案1911、闰年是指年号能被4整除,但不能被100整除,或者能被400整除的年份。求1000年到2050年之间共有
7、多少闰年。settalkoffclearn=0fori=1000to2050*下行有错ifmod(i,4)=0ormod(i,100)#0andmod(i,400)=0n=n+1endifendfor?nsettalkonreturn答案25512、求出的所有真因子(即小于它本身的约数)中最大的。settalkoffcleara=forb=1toa-1step-1*下行有错ifmod(b,a)=0exitendifendfor?bsettalkonreturn答案655713、将大于1000且能被3和5中至少一个数整除的所有
8、整数按从小到大顺序排列后,求前面20个数之和。settalkoffcleark=0s=0x=1000*下行有错dowhilek<=20x=x+1ifmod(x,3)=0ormod(x,5)=0*下行有错s=s+1k=k+1endifenddo?ssettalkonreturn答案20465