vfp典型程序设计题(附参考答案)

更新时间:2023-10-19 15:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

典型程序设计题(附参考答案)

1.求1到2000之间,能被3或7整除,并且含有数字5的整数的个数、它们的和、它们的平方根的和(保留2位小数)、以及它们的平方和。

2.求能被3整除且至少有一位数字为5的三位数的个数。 3.求出只要能被2,7,9之一整除的800以内的正整数的个数。

4.求[105,625]间能同时被7和11整除的自然数之和。求[200,600]间奇数之和。 5.编程序求出1000到2000之间同时满足除3余2和除5余3条件的数的个数。 6.输出[10,100]中除以17的余数和除以5的商相等的整数的个数。

7.统计区间[1000,9999]内所有能被3整除,且千位数字与个位数字之和为8的整数的个数。 8.求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。 9.求出所有能被17整除且不含重复数字的三位数的和。 10.求1到500的偶数立方和与奇数立方和之差。

11.求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加. 12.求1+3+5+7+9+11+...这样的奇数之和.若累加数大于500时, 则结束累加。 13.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。

14.求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出。 15.编写程序,s=1+1/2+1/3+…+1/99,保留两位小数。 16.编程求S=1*3+2*4+3*5+...+198*200。

17.设S=1+1/2+1/3+...+1/N,N为正整数。编程求使S不超过10的最大的N 18.求S=8!+9!+10! 19.编写程序,求10!

20.计算S=3!+5!+7!+...+N!,求直到S>=680000为止的奇数N。 21.s=1!+2!+3!+....+n! 当s大于61000时结束累加,求n。

22.数列xi各元素的值是:x1=1,x2=1+2,x3=1+2+3,.....xn=1+2+3+......+n。对数列求和:S=x1+x2+x3....,直到S>3000止,求此时数列中最大的元素值。

23.已知S1=1,S2=1+2,S3=1+2+3,…,SN=1+2+…+N,求S20到S80有多少数能被17或35整除。

24.求在1,2,3,4,...,10这10个数中,任意选两个不同的数,求它们的和能被2整除的数的总对数。(注意: 象3+5和5+3认为是同一对数)

25.已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。求出该数列的第15个数。

26.编写程序,求200到800之间素数的个数。 27.编写程序,求600到900之间素数的和。

28.所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求在100—900的范围内所有能被3整除的回文数的和。

29.编写程序,计算在0至50的范围内有多少个数,其每位数的乘积大于每位数的和。

30.把18元钱分成一元、二元和五元的纸币且纸币数共为10张的分法有多少种?(注:在兑换中一元、二元、五元的纸币数可以为0)。

31.编写程序,求共有几组I、j、k符合算式ijk+kji=1333,其中I、j、k是0~9之间的一位整数。 32.一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出10000以内的完数的个数及它们的和。

33.已知a>b>c,且a+b+c<50,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。

典型程序设计题参考答案

1.求1到2000之间,能被3或7整除,并且含有数字5的整数的个数、它们的和、它们的平方根的和(保留2位小数)、以及它们的平方和。 clear

store 0 to n,s1,s2,s3 for i=1 to 2000 if (mod(i,3)=0 or i%7=0) and ?5?$str(i) n=n+1 s1=s1+i s2=s2+sqrt(i) s3=s3+i^2 endif next

? “个数:”,n,”和:”,s1,”平方根和:”,s2,”平方和:”,s3 return

2.求能被3整除且至少有一位数字为5的三位数的个数。

clear n=0

for i=100 to 999

if i%3=0 and '5'$str(i) n=n+1 endif next ?n return

3.求出只要能被2,7,9之一整除的800以内的正整数的个数。

clear n=0

for i=1 to 800

if i%3=0 or i%7=0 or i%9=0 n=n+1 endif next ?n return

4.求[105,625]间能同时被7和11整除的自然数之和。求[200,600]间奇数之和。

clear s=0

for i=105 to 625

if i%7=0 and i=0 s=s+i endif next ?s return

5.编程序求出1000到2000之间同时满足除3余2和除5余3条件的数的个数。

clear n=0

for i=1000 to 2000 if i%3=2 and i%5=3 n=n+1 endif next

? “个数:”, n

return

6.输出[10,100]中除以17的余数和除以5的商相等的整数的个数。

clear n=0

for i=10 to 100 if i=int(i/5) n=n+1 endif next

? “个数:”, n return

7.统计区间[1000,9999]内所有能被3整除,且千位数字与个位数字之和为8的整数的个数。

clear n=0

for i=1000 to 9999 gw=i qw=int(i/1000) if i%3=0 and gw+qw=8 n=n+1 endif next

? “个数:”, n return

8.求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。

clear s=0

for i=1000 to 9999 gw=i sw=int(i/10) bw=int(i/100) qw=int(i/1000) if i%2<>0 and (gw+sw+bw+qw)%=0 s=s+i endif next

? “和:”, n return

9.求出所有能被17整除且不含重复数字的三位数的和。

clear s=0

for i=100 to 999 gw=i sw=int(i/10) bw=int(i/100) if i=0 and gw<>sw and sw<>bw and bw<>gw s=s+i endif next

? “和:”, n return

————————————————————————————————————

10.求1到500的偶数立方和与奇数立方和之差。

clear s1=0 s2=0

for i=1 to 500 if i%2=0 s1=s1+i^3 else s2=s2+i^3 endif next

? “偶数立方和与奇数立方和之差为:”, s1-s2 return

————————————————————————————————————

11.求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加.

clear s=0 n=1

do while .t. s=s+3^n if s>500 exit endif n=n+1 enddo ? s return

12.求1+3+5+7+9+11+...这样的奇数之和.若累加数大于500时, 则结束累加。 13.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。

clear s=1 n=1

do while .t. s=s*n if n>=25 exit endif n=n+4 enddo ? s return

14.求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出。

————————————————————————————————————

15.编写程序,s=1+1/2+1/3+…+1/99,保留两位小数。

clear s=0

for n=1 to 99 s=s+1/n next

? s return

16.编程求S=1*3+2*4+3*5+...+198*200。

clear s=0

for n=1 to 198 s=s+n*(n+2) next ? s return

17.设S=1+1/2+1/3+...+1/N,N为正整数。编程求使S不超过10的最大的N

clear s=0 n=0

do while .t. n=n+1 s=s+1/n if s>10 exit endif enddo ? n-1 return

18.求S=8!+9!+10!

clear s=0

for x=8 to 10 t=1 for y=1 to x t=t*y next s=s+t next ? s return

19.编写程序,求10!

20.计算S=3!+5!+7!+...+N!,求直到S>=680000为止的奇数N。

clear s=0 n=3

do while .t. t=1 m=1 do while m=680000 exit endif n=n+2 enddo ? n return

21.s=1!+2!+3!+....+n! 当s大于61000时结束累加,求n。

22.数列xi各元素的值是:x1=1,x2=1+2,x3=1+2+3,.....xn=1+2+3+......+

n。对数列求和:S=x1+x2+x3....,直到S>3000止,求此时数列中最大的元素值。

clear s=0 n=1

do while .t. x=0 m=1 do while m=3000 exit endif n=n+1 enddo ? x return

————————————————————————————————————

23.已知S1=1,S2=1+2,S3=1+2+3,…,SN=1+2+…+N,求S20到S80有多少数能被17或35整除。

clear n=0

for x=20 to 80 s=0 for y=1 to x s=s+y next if s=0 or s5=0 n=n+1 endif next ? n return

————————————————————————————————————

24.求在1,2,3,4,...,10这10个数中,任意选两个不同的数,求它们的和能被2整除的数的总对数。(注意: 象3+5和5+3认为是同一对数)

clear n=0

for x=1 to 10 for y=1 to x-1 if (x+y)%2=0 n=n+1 endif next next ? n return

————————————————————————————————————

25.已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。求出该数列

的第15个数。

clear

dime a(15) a(1)=1 a(2)=2 a(3)=3

for i=4 to 15 a(i)=a(i-1)+a(i-2)+a(i-3) next ?a(15) return

————————————————————————————————————

26.编写程序,求200到800之间素数的个数。

clear n=0

for x=200 to 800 flag=.t. for i=2 to sqrt(x) if x%i=0 flag=.f. exit endif next if flag=.t. n=n+1 endif next ?n return

27.编写程序,求600到900之间素数的和。

————————————————————————————————————

28.所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求在100—900的范围内所有能被3整除的回文数的和。 clear s=0

for x=100 to 900 a=x b=int(x/100) if a=b and x%3=0 s=s+x endif next ?s return

29.编写程序,计算在0至50的范围内有多少个数,其每位数的乘积大于每位数的和。 clear n=0

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

next ?n return

————————————————————————————————————

30.把18元钱分成一元、二元和五元的纸币且纸币数共为10张的分法有多少种?(注:在兑换中一元、二元、五元的纸币数可以为0)。 clear n=0

for five=0 to 3 for two=0 to 9 one=10-five-two if one>=0 and five*5+two*2+one=18 n=n+1 endif next next ?n return

————————————————————————————————————

31.编写程序,求共有几组I、j、k符合算式ijk+kji=1333,其中I、j、k是0~9之间的一位整数。 clear 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 next next next ?n return

———————————————————————————————————— 32.一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出10000以内的完数的个数及它们的和。 clear n=0 t=0

for x=1 to 10000 s=0 for i=1 to x/2 if x%i=0 s=s+i endif next if x=s n=n+1 t=t+x endif next

?\个数:\和:\return

————————————————————————————————————

33.已知a>b>c,且a+b+c<50,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。 clear n=0

for a=1 to 49 for b=1 to a-1 for c=1 to b-1 if a+b+c<50 and 1/a^2+1/b^2=1/c^2 n=n+1 endif next next next ?n return

本文来源:https://www.bwwdw.com/article/nkwf.html

Top