Visualfoxpro程序设计练习题及答案(3)

2019-01-12 16:06

if i%n=0 m=m+1 endif endfor ?m

36、求S=1-1/2+1/3-1/4+.....的前100项之和(精确到小数点后4位) 答案:0.6882 f=1 s=0

for n=1 to 100 s=s+f*1/n f=-f endfor ?round(s,4)

37、编写程序,求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0~9之间的一位整数。 答案:6 n=0

for i=0 to 9 for j=0 to 9 for k=0 to 9

if i*100+j*10+k+k*100+j*10+I=1333 n=n+1 endif endfor endfor endfor ?n

38、编写程序,求在四位数的偶数中,所有各位数字之和是30的倍数的数的和。 答案:288840 sum=0

for i=1000 to 9999 step 2 a=int(i/1000) b=int(i/100) c=int(i/10) d=i

if (a+b+c+d)0=0 sum=sum+i endif endfor ?sum

39、编写程序,求1到5000之间的能被5整除的前若干个偶数之和,当和值大于500时退出,输出该和值。 答案:550

s=0

for i=2 to 5000 step 2 if i%5=0 s=s+i if s>500 exit

endif endif endfor ?s

40、一个数如果刚好与它所有的因子之和相等,则称该数为一个\完数\,如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。 答案:496 sum=0

for i=200 to 500 s=0

for j=1 to i-1 if i%j=0 s=s+j endif endfor if s=i sum=sum+i endif endfor ?sum

41、编写程序,求在5000以内能被17或者23整除的正整数的个数。 答案:499 n=0

for i=1 to 5000

if i=0 or i#=0 n=n+1 endif endfor ?n

42、编写程序,求四位数的偶数中,所有各位数字之和是15的倍数的数的个数。 答案:306 n=0

for i=1000 to 9999 step 2 a=int(i/1000) b=int(i/100) c=int(i/10) d=i

if (a+b+c+d)=0

n=n+1 endif endfor ?n

43、编写程序,计算在0~50的范围内有多少个数,其每位数的乘积大于每位数的和。 答案:23 n=0

for i=0 to 50 a=int(i/10) b=i if a*b>a+b n=n+1 endif endfor ?n

44、用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为60枚,问共有多少种换法?(注:在兑换中,一分、两分或五分的硬币数可以为0枚) 答案:11 n=0

for a=0 to 20 for b=0 to 50 c=60-a-b

if a*5+b*2+c=100 n=n+1 endif endfor endfor ?n

45、编写程序,求出100到500之间同时满足除5余4和除7余2条件的数的个数。 答案:12 n=0

for i=100 to 500

if i%5=4 and i%7=2 n=n+1 endif endfor ?n

46、有5羊4犬3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,2羊3犬5鸡1兔值钱861,求鸡值多少钱? 答案:23 for a=1 to 300 for b=1 to 300 for c=1 to 170

d=861-2*a-3*b-5*c

if 4*a+2*b+6*c+3*d=1175 and 3*a+b+7*c+5*d=958 and 5*a+4*b+3*c+2*d=1496 ?c return endif endfor endfor endfor

47、编写程序,求出3到100之间的所有非偶数非素数的数之和。 答案:1441 s=0

for i=3 to 100 step 2 for j=2 to i-1 if i%j=0 exit endif endfor if j

for x=1 to 40 for y=1 to 70 z=50-x-y

if x*5+y*3+z*2=200 n=n+1 endif endfor endfor ?n

49、编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。该数是一个完全平方数,且其第1、2位数字之和为10,第3、4位数字之积为18。 答案:1 k=0

n1=int(sqrt(1000)) for n=n1 to 99 m=n*n

a=int(m/1000) b=int(m/100)

c=int(m/10) d=m

if a+b=10 and c*d=18 k=k+1 endif endfor ?k

50、编写程序,求一正整数等差数列的前五项的立方和,该数列前四项之和是26、之积是880。

答案:4720 for a=1 to 5 for d=1 to 4

if 4*a+6*d=26 and a*(a+d)*(a+2*d)*(a+3*d)=880 ?a^3+ (a+d)^3+(a+2*d)^3+(a+3*d)^3+(a+4*d)^3 endif endfor


Visualfoxpro程序设计练习题及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: