当前位置:首页 >> 高中教育 >> VF程序设计题库

VF程序设计题库


1.3-100 的素数 .......................................................................... 19 2. (4!+7!)乘以 3!........................................................................ 20 3.1!+3!+5!

+....+99!= .................................................................. 21 4.3!+5!+7! .................................................................................. 21 5.3!+8!+11!的和 ........................................................................ 22 6.10~100 之间不能被 3 整除的数的和 ................................... 22 7.10~100 之间能被 3 整除的数 ............................................... 22 8.1000-1100 素数和 .................................................................. 23 9.编写分段函数程序 ................................................................ 23 10.计算 1!+2!+3!+…+100! ............................................ 24 11. 计算 1+2+3+…+100 .......................................................... 24 12. 输入 10 个数,找最大值和最小值 .................................. 24 13. 找出几个数(此题中为八个)中的最小数 .................... 25 14. 一万个 i★you .................................................................... 26 15. 未知题目........................................................................... 26 16.99 乘法表.............................................................................. 26 17. 编程序求出 1-200 以内的能被 7 整除的数的平方和 .... 27 18. 编程序求 1~99 的平方根的和并输出结果。 (保留小数点 两位) 661.46 ...................................................................... 27 333 27

19.编程序统计 1~1000 能被 3 整除的数的个数。

20. 编程序求出 1~100 所有整数的平方和并输出结果。 338350 ........................................................................................ 27

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

22. 编程序求在 3000 以内被 17 或者 23 整除的正整数数的个 数。 299 .................................................................................... 28 23. 已知一个数列的前 3 个数为 0,0,1,以后每个数为前 3 个数的和,编程序求此数列的第 36 个数。 334745777 . 28

24. 编程序求出 100 到 200 之间同时满足除 3 余 2 和除 5 余 3 条件的数的个数。 6 ........................................................ 29

25. 编程序求出 2+4+8+16+32+…这样的数之和。如果累加 数大于 500 时,则程序终止并输出结果。 510 ............... 29

26. 编程序求出 1~100 所有整数的立方和并输出结果。 25502500 .................................................................................... 29 27. 编程序求出 1 到 5000 之间的能被 7 整除的前若干个数之 和,当和大于 1500 时退出 并输出结果。 1617 ........... 29

28. 编程序求出 1 到 6000 之间的能被 5 整除的前若干个偶数 之和,当和大于 650 时退出并输出结果。 660 ............... 30

29. 编程序求 1+3+5+7+9+…这样的数之和。 如果累加数大于 750 时,则程序终止并输出结果。 784 ............................ 30

30. 已知 24 有 8 个正整数因子(即:1,2,3,4,6,8,12,24),而 24 正好被其因子个数 8 整除。 求[1,100]之间第 10 个能被其因子 数目整除的正整数。 56 ......................................................... 30 31.求[444,666]范围内最大的素数是多少? 661 .............. 31

32. 有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13.... 注: ( 该数列 从第二项开始,其分子是前一项的分子与分母的和,而其分 母是前一项的分子),求出这个序列前 24 项的和。要求:按 四舍五入的方式精确到小数点后第二位。 39.13 .......... 31

33. 已知 24 有 8 个正整数因子(即:1,2,3,4,6,8,12,24),而 24 正好被其因子个数 8 整除。问[100,300]之间有多少个能被其 因子数目整除的数。 19 ................................................... 32

34. 设某国今年的国民生产总值为 45600 亿元,若今后每年以 8%的增长率增长,计算多少年后能实现国民生产总值翻两番? 19 2008................................................................................ 32

35. 已知 24 有 8 个因子(即:1,2,3,4,6,8,12,24), 而 24 正好被 8 整除。 求[1,100]之间第二大能被其因子数目整 除的数。 88........................................................................ 33

36.若某整数平方等于某两个正整数平方之和的正整数称为 弦数。例如:由于 3^2+4^2=5^2,则 5 为弦数,求[100,200] 之间最大的弦数。 200 ....................................................... 33

37. 若某整数 n 的所有因子之和等于 n 的倍数,则 n 称为多 因子完备数,如数 28,其因子之和 1+2+4+7+14+28=56=2*28,28 是多因子完备数。 求[1,500]之间有多少个多因子完备数。 5 .................................................................................................... 34 38.设某国今年的国民生产总值为 45600 亿元,若今后每年以 9%的增长率增长,计算多少年后能实现国民生产总值翻一番?

9 .................................................................................................. 34 39. 有一个三位数满足下列条件: (1)此三位数的三位数字各 不相同; (2)此三位数等于它的各位数字的立方和。试求这种 三位数共有多少个? 4 ............................................. 35

40. 找满足以下条件: x^2+y^2+z^2=41^2 且 x+y+z 之值最 大的三个正整数 x,y,z, 求 x+y+z 之值. 41. 求[2,500]之间的所有素数的和。 42. 求[3-1000]之间最大的五个素数之和。 71 .................... 35 21536 ....... 36 4919 ............ 36

43. 已知 24 有 8 个因子(即:1,2,3,4,6,8,12,24) ,而 24 正好 被 8 整除。求[100,300]之间所有能被其因子数目整除的数之 和。 3769 ................................................................... 37

44. 问[100,200]之间有奇数个不同因子的整数共有多少个? 5 .................................................................................................. 37 45. 水仙花数是一个三位正整数,它等于它的各位数字的立 方之和. 例如:153=1^3+5^3+3^3,所以 153 是水仙花数. 试

求所有的水仙花数之积。

8547940170 ............................. 38

46. 把一张一元钞票,换成一分、二分和五分硬币,每种至少 8 枚,问有多少种方案? 80....................................................... 38

47. 求[200,300]之间最小的一个有奇数个不同因子的整数。 225 .............................................................................................. 38 48. 一个数出现在该数的平方数的右边,称这个数为"同构数 "。例如,5 出现在平方数 25 的右边,25 出现在平方数 625

的右边,则 5、25 都是"同构数"。找出 1 到 1000 之间的所有 "同构数"的个数。 6 ...................................................... 39

49. 求[300,400]之间最小的一个有偶数个不同因子的整数。 324 .............................................................................................. 39 50. 求[200,300]之间第二大有奇数个不同因子的整数。 256 .................................................................................................... 40 51. 一个 14*14 方阵 a(i,j),其每个元素的值为该元素下标的立 方和,求出该矩阵所有元素的累加和(注:i,j 从 1 到 14). 308700 ........................................................................................ 40 52. 求[100,200]之间最大的有奇数个不同因子的整数。 196 .................................................................................................... 41 53. 一个数如果恰好等于它的所有真因子之和,这个数就称 为"完数"。例如,6 的真因子为 1,2,3,而 6=1+2+3,因此, 6 是"完数"。求 1000 以内的所有完数之和。 530........... 41

54. 一个数如果恰好等于它的所有真因子之和,这个数就称 为"完数"。例如,6 的真因子为 1,2,3,而 6=1+2+3,因此, 6 是"完数"。求[8100,8200]之间的所有完数。 8128 ........ 42 55. 一个数如果恰好等于它的所有真因子之和,这个数就称 为"完数"。例如, 6 的真因子为 1,2,3,而 6=1+2+3,因此, 6 是"完数"。求[1,1000]之间的最大完数。 56. 496 ............ 42

一个数如果恰好等于它的所有真因子之和,这个数就

称为"完数"。例如,6 的真因子为 1,2,3,而 6=1+2+3,因

此,6 是"完数"。求[1,1000]之间的第二大完数。 28 ......... 42 57. 求 数 学 式 1-1/2+1/3-1/4+1/5-1/6+…+1/99-1/100 的 值 (按四舍五入方式精确到小数点后 4 位) 0.6882 .......... 43

58. 某自然数平方的末几位与该数相同时,称此数为自同构 数,例如 25^2=625, 则称 25 为自同构数,求出[10,100000]之 90625 ............................................. 43

间最大的自同构数。

59. 设某四位数的千位数字与十位数字的和等于百位数字与 个位数字的积,例如,对于四位数:9512,9+1=5*2,试问 所有这样的四位数之和是多少? 1078289 ....................... 44

60. 求符合下列条件的四位完全平方数(某个数的平方数为 完全平方数), 它的千位数字与十位数字之和等于百位数字与 个位数字之积,例如,3136=56^2, 且 3+3=1*6 故 3136 是所 求的四位完全平方数. 求其中最大的一个数。 7921 .. 44

61. 求在[10, 1000]之间的所有完备数之和。 各真因子之和 (不 包括自身)等于其本身的正整数称为完数。例如:6=1+2+3, 6 是完数。 524 .................................................................... 45

62. 求满足 a*b=718368,使 a+b 最小,且 a,b(a<b)为正整 数的 a 的值。 672 .................................................................. 45

63. 求[200,300]之间最大的有奇数个不同因子的整数。 289 .................................................................................................... 46 64. 求[3333, 6666]之间所有能被 5 整除同时能被 7 整除的数, 问共有多少个这样的数? 95 ............................................. 46

65. 设某四位数的各位数字的平方和为 100,且该数能被 3 整除。求共有多少个这样的四位数。 24 ............. 46

67. 计算 y=1+2/3+3/5+4/7+…+n/(2*n-1)(n=50), 要求:按四 舍五入的方式精确到小数点后第二位。 26.47 ................ 47

68. 若两个连续的自然数的乘积减 1 后是素数,则称此两个 连续自然数为友数对,该素数称为友素数。例如,由于 8*9-1=71, 因此,8 与 9 是友数对,71 是友素数。求[100, 200]之间的所有友素数之和。 983696 .............................. 47

69. 求数列:2/1,3/2,5/3,8/5,13/8,21/13,…… 前 50 项之和(注:此数列从第二项开始,其分子是前一项的分子与 分母之和,其分母是前一项的分子)。 (按四舍五入的方式精 确到小数点后第二位) 81.20 ............................................ 48

70. 求[1,1000]之间能被 3 整除,且至少有一位上的数是 5 的所有数之和。 46509 ....................................................... 48

71. 当 m 的 值 为 50 时 , 计 算 下 列 公 式 之 值 : t=1-1/(2*2)-1/(3*3)-…-1/(m*m) 确到小数点后第四位。 要求:按四舍五入的方式精

0.3749 .......................................... 49

72. 若某整数 n 的所有因子之和等于 n 的倍数,则 n 称为多 因子完备数,如数 28,其因子之和 1+2+4+7+14+28=56=2*28,28 是多因子完备数。 求[1,500]之间最大的多因子完备数。 496

.................................................................................................... 49 73.(2^2/(1*3))+(4^2/(3*5))+(6^2/(5*7))+…+(2k)^2/((2k-1)*(2k

+1))

(按四舍五入的方式精确到小数点后第三位)

20.488 ......................................................................................... 50 74. 求级数 1/(1*2)+1/(2*3)+.....+1/(n*(n+1))的和的近似值,直 到级数中有一项的值小于 1e-4 为止. 要求:按四舍五入的 方式精确到小数点后第二位。 0.99 .................................. 50

75. 某自然数平方的末几位与该数相同时,称此数为自同构 数,例如 25^2=625, 则称 25 为自同构数,求出[10,100000]之 90625 ............................................. 50

间最大的自同构数。

76. 求 1000 以内, 同时能被 3 和 7 整除的所有自然数之和的 平方根。 (按四舍五入的方式精确到小数点后第二位) 。 153.91 ......................................................................................... 51 77. 已 知 s1=1, s2=1+3, s3=1+3+5,

s4=1+3+5+7,s5=1+3+5+7+9 , … , 编 制 一 个 程 序 求 s=s1+s2+s3+s4+s5+…+s20 的值. 78. 已 知 s1=2, 2870 .............................. 51 s2=2+4, s3=2+4+6,

s4=2+4+6+8,s5=2+4+6+8+10 , … , 编 制 一 个 程 序 求 s=s1+s2+s3+s4+s5+…+s20 的值. 3080 .............................. 52

79. 当 n=100 时 , 计 算 输 出 下 列 多 项 式 的 值 s=(1-1/2)+(1/3-1/4)+……+(1/(2*n-1)-1/(2*n)) 方式精确到小数点后第三位。 按四舍五入的

0.691 ................................ 52

80. 当 n 的 值 为 25 时 , 计 算 下 列 公 式 的 值 s=1+1/1!+1/2!+1/3!+…+1/n! 要求:按四舍五入的方式精确

到小数点后第四位。 81. 当 n

2.7183 .............................................. 52 50 时 , 求 s 的 值 。

的 值 为

s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n) 五入的方式精确到小数点后第四位。

要求:按四舍

1.9608 .................. 53

82. 当 m 的 值 为 50 时 , 计 算 下 列 公 式 之 值 : t=1+1/(2^2)+1/(3^2)+…+1/(m^2) 小数点后第四位)。 (按四舍五入的方式精确到

1.6251 ................................................. 53

83. 当 m 的 值 为 50 时 , 计 算 下 列 公 式 的 值 : t=1-1/2-1/3-1/4-…-1/m 要求: 按四舍五入的方式精确到小数 点后第四位。 -2.4992 ......................................................... 54 22

84. 求[500,1999]之间的十位数字为 7 的素数的个数。

.................................................................................................... 54 85. 求[351,432]之间所有既不能被 3 整除,又不能被 8 整除的 整数的和。 18413 ............................................................... 55

86. 求从 6 开始的前 6 个同构数(若某数与其本身的平方数低 位部分相等,则称之为同构数,如 6,其平方数为 36)的和。 10484 .......................................................................................... 55 87. 若某整数 n 的所有因子之和等于 n 的倍数,则 n 称为多 因子完备数,如数 28,其因子之和 1+2+4+7+14+28=56=2*28,28 是多因子完备数。求[1,500]之间按从小到大的顺序排列的第 三个多因子完备数。 28 ....................................................... 56

88. 求[100,10000]中其各位数字之和能被 7 整除的数的个数。

1408 ............................................................................................ 56 89. 若 (x,y,z) 满足方程: x^2+y^2+z^2=55^2(注: 要求 x > y > z),则(x,y,z)称为方程的一个解。试求方程的整数解(包括 负整数解)的个数。 62 ..................................................... 57

90. 一只猴子一天从山上摘来一袋桃子,从这天开始,它每 天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再 从剩下的桃中拿出一个解谗,等到第 10 天,它发现袋中只 有一只桃可吃啦,问猴子总共摘了多少桃。 1534 ......... 57

91. 编程求取:[121,140] 之间的弦数的个数(若某正整数的 平方等于另两个 正整数平方之和 ,则称该数为弦 数 . 例 如:3^2+4^2=5^2, 因此 5 是弦数) 。 8 ............................... 58

92. 回文数是指正读和反读都一样的正整数。 例如 3773 等都 是回文数。求出[1000,9999]以内的所有回文数的个数。 90 ................................................................................................ 58 93. 有一辆以固定速度行驶在高速公路上的汽车, 清晨司机 看到里程表上从左到右的读数和从右到左的读数是相同的, 这个数是 95859, 7 小时后, 里程表又出现了一个新的对称数。 设里程表为 5 位数字, 问这个新的对称数是什么? 95959

.................................................................................................... 59 94. 利 用 格 里 高 利 公 式 : α

/4=1-1/3+1/5-1/7+1/9-1/11+…-1/99,求α 的值。要求:按四 舍五入的方式精确到小数点后第二位。 3.13 .................. 59

95. 已知正整数 a,b(假定 a<b),满足 a*b=5432,求 s=a+b 的 最小值。 153........................................................................ 59

96. 编程求区间[500,2500]中按递增顺序第 25 个素数。 659 .............................................................................................. 60 97. 已知:非等腰三角形最长边是 60,其它两边的长度都是 正整数,且三边之和能被 3 整除,试编程求取这类三角形的 个数(注意:两边的长度交换构成的三角形算作同一个三角 形,如:其它两边的长度为 30,40 的三角形与长度为 40,30 的三角形视为同一个三角形) 271 ..................................... 60 。 98. 统计[100,10000]之间有多少个这样的整数,其各位数字之 和能被 7 整除 1408 ............................................................... 61

99. s1=1 , s2=1+3 , s3=1+3+5 , s4=1+3+5+7 , … , sn=1+3+5+7+…+ ( 2n-1 ), n 为 正 整 数 。 编 程 求 s1+s2+s3+s4+…+sn 的值<20000 时的 n 的最大值。 38 ... 61

100. 求[1,999]之间能被 3 整除,且至少有一位数字是 5 的 所有正整数的个数。 91 ..................................................... 62

101. 若一自然数等于其所有真因子(不包括该数本身)之和, 则称该数为完数. 6 为完数, 例如:6 的真因子有 1,2,3,且 6=1+2+3 ,因此 496 ................... 63

求[3,1000]之间最大的完数。

102. 求[500,2500]之间按递增顺序的素数中的第 25 大的素 数。 659.............................................................................. 63

103. 某一正整数, 进行递减, 第一次减去该数的一半再减一,

以后每次都减去前一次剩下的数的一半后再减一,直到第十 次减后,剩1。求该数。 1534 ......................................... 64

104. 有一辆以固定速度行驶在高速公路上的汽车, 清晨司 机看到里程表上从左到右的读数和从右到左的读数是相同 的, 这个数是 95859, 7 小时后,里程表又出现了一个新的对 称数。设里程表为 5 位数字, 问此车的时速是多少公里(是一 整数)? 14.2857 .......................................................................... 64 105. 已知 s1=1,s2=1+2,s3=1+2+3…,sn=1+2+…n,求 s20 到 s80 之间有多少个数能被 17 或 35 整除。 12 ................. 64 106. 已知 s=2+(2+4)+(2+4+8)+(2+4+8+16)+…,求 s>6000 的 s 的最小值。 8166 ............................................. 65

107. 分子分母为正整数, 分子小于分母且分子分母无公因数 的分数称为最简真分数。对于分数的分母取值范围为 [50, 90] 时的最简真分数共有多少个. 773 .................................... 65 111. 当 k 值 为 20 时 , 求 s 的 值 。

(1^2/(1*3))*(4^2/(3*5))*(6^2/(5*7))*…*(2k)^2/((2k-1)(2k+1)) (按四舍五入的方式精确到小数点后第三位) 1.552 .... 66

112. 求 1000 以内,同时能被 3 和 7 整除的所有自然数之和 的平方根。 (按四舍五入的方式精确到小数点后第二位) 。 153.91 ......................................................................................... 66 113. 求 y=1-1/2+1/3-1/4+...-1/2*n 前 30 项之和。要求:按 四舍五入的方式精确到小数点后第二位。 0.68 .............. 67

114. 当 n=100 时 , 计 算 输 出 下 列 多 项 式 的 值 s=(1-1/2)+(1/3-1/4)+……+(1/(2n-1)-1/(2n)) 式精确到小数点后第三位。 按四舍五入的方

0.688 .................................... 67

115. 找出 2× 矩阵中的最大数和最小数 .............................. 67 3 119. 计算数列 50,52,54,……100 的平均值 ................. 68 120. 从键盘输入三个数,求最大值 ......................................... 68 121. 铁路拖运行李,从甲地到乙地,按规定每张客票拖运行 李不超过 50 公斤时,每公斤 0.25 元,如超过 50 公斤,超过 部分按每公斤 0.45 元计算。编程,把行李重量输入计算机, 计算出运费,并打印付款清单。 ........................................... 69 122. 11-10 已 知 系 数 a,b,c 编 写 程 序 , 求 一 元 二 次 方 程 ax2+bx+c=0 的根。 .................................................................. 69 123. 设计一个按不同幼儿年龄服药的程序, 年龄变量为 age, 每次服药次数 count,每次服药量 mount。程序为: ............. 70 124. 有一张厚 0.5 毫米,面积足够大的纸,将它不断对折。问 对折多少次后,其厚度可达珠穆郎玛峰的高度(8848 米)。71 125. 打印九九乘法表。 .......................................................... 71 126. 设计一个保密口令程序,要求用户使用某个系统时,必 须回答口令,该程序口令为"49712"才能允许进入系统,但最 多只允许输入三次,否则,退 foxpro 系统。程序如下: . 71 127. 某单位举行业余歌手竞赛,竞赛评分专家 10 人组成, 专家各自按百分制评分,对 ................................................... 72

128. 应用一维数组对 n 个数据进行排序. ............................. 72 129. 求任意一个数值的绝对值 .............................................. 72 130. 判断输入的整数为奇数还是偶数。 .............................. 72 131. 将用户输入的小写英文字母转化成大写 ...................... 73 132. 比较 a、b 的大小 ............................................................. 73 133. 邮局负责邮购小物品规则如下:50 公里及以内收取额 外金额 5 元,50-100 公里收取 10 元,100-200 公里收取 20 元,200-500 公里收取 40 元,其余一律收取 50 元。......... 73 134. 通过键盘输入三角形的边长,若边长正确,立即在屏幕 上显示三角形的面积,若边长不正确,重新输入边长,若输 入的边长中任意一边为 0 则程序立即结束。 ....................... 74 135. 将 1、2、3、…10 顺序输入一维数组,实现顺序输出和 逆序输出。................................................................................ 74 136. 有 5 个英文单词,分别为:word,excel,powerpoint, type,angle,要求设计出如下程序: .................................... 75 137. 判断输入的字符属于字母,数字或特殊符号 .............. 76 138. 一个三位数的个、 百位数的立方和等于这个数本身, 十、 求这个数 .................................................................................... 76 139. 求水仙花数,即一个三位数,去各位上的数字的立方和 等于其本身。如 153=1^3+5^3+3^3 ........................................ 76 140. 若一个自然数的立方的末三位数字为 999,则称这样的 自然数为"千禧数",求最小的"千禧数"。............................. 77

141. 已 知 三 角 形 的 三 边 ( 从 键 盘 输 入 ) 求 其 面 积 , (s^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2) ......................................... 77 142. s=1*2*3*4*……*n 求 s 不大于 400000 时 n 的最大值。 .................................................................................................... 78 143. 编程计算 s=1*2+2*3+3*4+...+100*101 ......................... 79 144. 从键盘输入 3 个数, 求他们的最大值, 最小值和平均值。 .................................................................................................... 79 145. 编程 s=1-1/2+1/3-1/4+.. ..-1/10 ........ 80 146. 求 s=1+1/2+2/3+3/5. . . . . .前 10 项之和 ...................... 80 147. 求

s=1+1+2+1+2+3+1+2+3+4··+1+2+3+4+5+6+7+8+9+10 .... 81 ·· ·· 148. 输入一行字符,分别统计出其中英文字母,空格,数字 和其他字符的个数。 ............................................................... 81 149. 按照成绩评定等级(就是成绩输入要在 0 到 100 之间, 90 到 100 算优秀,80 到 90 算良好.70 到 80 算中等.60 到 70 算及格,其他算不及格) ....................................................... 83 150. 求 sn=a+aa+aaa+aaaa+aaaaaa……a 的和 ....................... 83 151. 利用 a/4=1-1/3+1/5-1/7+……求 a 的值...................... 83

152. 百钱买百鸡,100 元钱买 100 只鸡,公鸡 2 元一只,母 鸡 3 元一只,小鸡五角一只,打印所有方案 ....................... 83 153. 求 1 到 100 的无重复勾股数 .......................................... 83 154. 编程求 pear-apa=pea 的数字组合 ................................... 83

155. 一球从 100 米高度自由落下, 每次落地后反跳回原地高 度的一半再落下,求在第 10 次落地时,其经过多少米?第 10 次反弹多高? ...................................................................... 83 156. 有 1.2.3.4.四个数字,能组成多少个互不相同的无重复 数字的三位数,都是多少 ....................................................... 83 157. 古典问题,有一对兔子,从出生后的第三个月起,每个 月都生一对兔子, ,小兔子长到三个月以后,每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? .................................................................................................... 83 158. 抓交通肇事犯。一辆卡车违反交通规则,撞人逃跑后, 现场三人目击事件,但却没有记住车牌,只有记住车牌的一 些特征,甲说, :"牌照的前两位数字是相同的,而且不是 0, "乙说:"牌照后边两位数字是相同的,但却与前边两位数字 不同。 "丙是数学家, 他说四位的车牌的车牌刚好是一个数的 平方," 请根据以上线索求出车号?? ............................. 83

160. 输入一个三位数, 将其反向输出。 如输入 314, 输出 413 .................................................................................................... 85 161. 编写程序输出一下形式 .................................................. 85 162. 从键盘输入 2 个数,完成以下功能:1 输出这两个数 2 将这两个变量的值进行互换后进行输出 ............................... 86 163. 输入一个数,如果是偶数那么就输出它的平方,如果是奇 数就输出它的立方 ................................................................... 86

164. 1-1000 之中偶数的立方和 ............................................... 87 165. 1 到 1000 所有奇数的平方和 .......................................... 87 166. 输入一个数,判断奇数偶数 .......................................... 87 167. 输出 99 乘法表 ................................................................ 87 168. 怎样用 vf 编程做出 99 乘法表,可以不带框 .................. 88 169. 输入任意一个五位整数, 前后对应位置上的数据进行交 换重新排列(即逆序排列 ....................................................... 88 170. 从键盘输入 3 个数,对其进行从小到大排序 .............. 89 172. 判断输入的字符时字母还是数字 .................................. 91 173. 从键盘上接受一个字符串, 统计该字符串中包含数字字 符(0~9)的总个数 ............................................................... 91 174. 计算 5+55+555+………+5555555555 的值 ................... 91 175. 下列数字被称为"回文数",编写程序求出 1000--10000 间 的 所 有 " 回 文 数 " 并 计 算 其

和.22,88,232,565,7887,5445,5555,1111.................................... 92 176. 编程输出下面的图形 ...................................................... 92 177. 编程输出下面的图形 ...................................................... 93 178. 求方程 8x-5y=3,在|x|<=150, |y|<=200 内的整数解。试问 这样的整数解中|x|*|y|的最大值是多少? .............................. 93 179. 编程输出下面的图形 ...................................................... 93 180. 编程输出下面的图形 ...................................................... 93 181.编程输出下面的图形 ........................................................ 94

182. 编程输出下面的图形 ...................................................... 94 183. 编程输出下面的图形 ...................................................... 94 184. 编程输出下面的图形 ...................................................... 95 185. 请显示出 100 到 200 间以内的所有的奇数,每行显示 6 个数 ............................................................................................ 95 186. 编程输出下面的图形 ...................................................... 95 187. 求方程 3x-7y=1 在条件|x|<100 且|y|<40 下的所有整数解 的|x|+|y|的最小值 ...................................................................... 96 188. 从 1 到 1000 能被 9 整除 且包含数字 6 的整数个数 97

189. 编写程序,求一正整数等差数列的前 6 项的和,该数列 前四项之和是 26,四项之积是 880。 答案:57 .................... 97 190. 编程输出下面的图形 ...................................................... 98 191. 用循环编程方法输出下列图形 ...................................... 98 192. 从键盘输入三个数,求最大值 ......................................... 99 193.多项式 s=1+2+22+23+…+232,请设计一个程序, s 的值 求 .................................................................................................... 99 194.整钱找零(穷举法) ........................................................ 99 195.矩阵的处理......................................................................... 99 196.查找算法........................................................................... 105 197.有序数列的插入 .............................................................. 107 198.有序数列的删除(指定位置上的数据) ...................... 108 199.最大公约数....................................................................... 109

200.最小公倍数....................................................................... 109 201.梯形积分法....................................................................... 110 202. 有序数列的删除(数列中的任意一个数) ................ 110 203.级数,近视计算 cos(x)=1-x^2/2!+x^4/4!+x^6/6!+…….. .................................................................................................. 111 204.二分法求根....................................................................... 111 1.3-100 的素数 第一种方法: clear for n=3 to 100 step 2 · 1 for i=2 to n/2 if mod(n,i)=0 exit endif endfor if i>n/2 ?n endif endfor return 第二种方法: clear for n=3 to 100 for i=2 to n-1 if n/i<> int(n/i) else exit endif endfor if i>n-1 ?n endif

endfor 第三种方法 m=3 do while m<=100 i=2 n=int(m/2) do while i<=n if mod(m,i)=0 exit endif i=i+1 enddo if i>n ?m,'是素数' endif m=m+1 enddo 第四种方法: clear for k=3 to 100 f=0 j=2 do while f=0 and j<k if k%j=0 f=1 endif j=j+1 enddo if f=0 ??k endif endfor

2. (4!+7!)乘以 3! clear

s=0 t=1 for i=1 to 4 t=t*i endfor s=s+t t=1 for i=1 to 7 t=t*i endfor s=s+t t=1 for i=1 to 3 t=t*i endfor s=s*t ?s return 3.1!+3!+5!+....+99!= clear s=1 t=1 for i=3 to 99 step 2 t=t*i*(i-1) s=s+t endfor ?' 1!+3!+5!+....+99!=',s return 4.3!+5!+7! s=0 t=1 for i=3 to 7 step 2 t=t*i*(i-1) s=s+t endfor ?"3!+5!+7!=",s return

5.3!+8!+11!的和 clear s=0 t=1 for i=1 to 3 t=t*i endfor s=s+t t=1 for i=1 to 8 t=t*i endfor s=s+t t=1 for i=1 to 11 t=t*i endfor s=s+t ?s return 6.10~100 之间不能被 3 整除的数的和 clear s=0 for m=10 to 100 if mod(m,3)!=0 ?m s=s+m ?s endif endfor return 7.10~100 之间能被 3 整除的数 clear for m=10 to 100 if mod(m,3)=0 ?m endif

endfor return 8.1000-1100 素数和 clear m=0 for k=1000 to 1100 f=0 j=2 do while f=0 and j<k if k%j=0 f=1 endif j=j+1 enddo if f=0 m=m+k endif endfor ?m 9.编写分段函数程序 第一种方法: clear input '请输入 X 数值:'to x if x>3 y=3*x-10 else if x<-3 y=2*x+10 else y=x endif endif ?'y=',y return 第二种方法: clear input"请输入一个数"to x

do case case x>3 y=3*x-10 case x<-3 y=2*x+10 otherwise y=x endcase return 10.计算 1!+2!+3!+…+100! clear s=0 n=1 for i=1 to 100 n=n*i s=s+n endfor ?'1!+2!+3!+...+100!=',s return 11. 计算 1+2+3+…+100 clear s=0 for i=1 to 100 s=s+i endfor ?'1+2+3+...+100=',s return 12. 输入 10 个数,找最大值和最小值 方法 1. clear input'请输入一个数:'to x store x to max,min for i=2 to 10 input'请输入一个数:'to x if max<=x max=x else

if min>=x min=x endif endif endfor ?'最大值:',max ?'最小值:',min return 方法 2. clear input"请输入一个数:"to n dime x(n) for i=1 to n input"请输入一个数:"to x(i) endfor ?"输入的数据为:" for i=1 to n ??x(i),"," endfor for i=1 to n-1 if x(i)>x(i+1) max=x(i) x(i)=x(i+1) x(i+1)=max endif endfor ?"其中最大数为:",max 13. 找出几个数(此题中为八个)中的最小数 clear input"请输入一个数:"to x store x to min for i=2 to 8 input"请输入一个数:"to x if x<min min=x endif

endfor ?min return 14. 一万个 i★you clear for i=1 to 10000 ??'I★YOU' endfor return 15. 未知题目 clear x=1 y=20 do while x<=y if int(x/2)<>x/2 x=1+x^2 y=y+1 loop else x=x+1 endif enddo ?'x=',x,"y=",y return 16.99 乘法表 clear a=1 do while a<=9 b=1 do while b<=a p=a*b ??str(a,1)+'*'+str(b,1)+"="+str(p,2)+' ' b=b+1 enddo ? a=a+1

enddo return 17. 编程序求出 1-200 以内的能被 7 整除的数的平方和 clear s=0 m=0 for i=1 to 200 if i%7=0 m=i^2 s=s+m endif endfor ?s 18. 编程序求 1~99 的平方根的和并输出结果。 (保留小数点 两位) 661.46 clear s=0 for i=1 to 99 s=s+sqrt(i) endfor ?round(s,2) 19.编程序统计 1~1000 能被 3 整除的数的个数。 333 clear s=0 for n=1 to 1000 if n%3=0 s=s+1 endif endfor 20. 编程序求出 1~100 所有整数的平方和并输出结果。 338350 clear s=0 for n=1 to 100 s=s+n^2 endfor ?s

21. 编程序求出 1 到 5000 之间的能被 5 整除的前若干个偶 数之和,当和大于 500 时程序退出。 550 clear s=0 for n=10 to 5000 step 10 s=s+n if s>500 exit endif endfor ?s 22. 编程序求在 3000 以内被 17 或者 23 整除的正整数数的个 数。 299 clear s=0 for n=1 to 3000 if n%17=0 or n%23=0 s=s+1 endif endfor ?s 23. 已知一个数列的前 3 个数为 0,0,1,以后每个数为前 3 个数的和,编程序求此数列的第 36 个数。 334745777 clear dime f(36) f(1)=0 f(2)=0 f(3)=1 s=0 for n=4 to 36 f(n)=f(n-3)+f(n-2)+f(n-1) s=f(n) endfor ?s

24. 编程序求出 100 到 200 之间同时满足除 3 余 2 和除 5 余 3 条件的数的个数。 6 clea s=0 for n=100 to 200 if n%3=2 and n%5=3 s=s+1 endif endfor ?s 25. 编程序求出 2+4+8+16+32+…这样的数之和。如果累加 数大于 500 时,则程序终止并输出结果。 510 clear s=0 for n=1 to 100 s=s+2^n if s>500 exit endif endfor ?s 26. 编程序求出 1~100 所有整数的立方和并输出结果。 25502500 clear s=0 for n=1 to 100 s=s+n^3 endfor ?s 27. 编程序求出 1 到 5000 之间的能被 7 整除的前若干个数之 和,当和大于 1500 时退出 并输出结果。 1617 clea s=0 for n=1 to 5000 if n%7=0 s=s+n endif

if s>1500 exit endif endfor ?s 28. 编程序求出 1 到 6000 之间的能被 5 整除的前若干个偶数 之和,当和大于 650 时退出并输出结果。 660 clea s=0 for n=1 to 6000 if n%5=0 and n%2=0 s=s+n endif if s>650 exit endif endfor ?s 29. 编程序求 1+3+5+7+9+…这样的数之和。 如果累加数大于 750 时,则程序终止并输出结果。 784 clear s=0 for n=1 to 800 step 2 s=s+n if s>750 exit endif endfor ?s 30. 已知 24 有 8 个正整数因子(即:1,2,3,4,6,8,12,24),而 24 正好被其因子个数 8 整除。 求[1,100]之间第 10 个能被其因子 数目整除的正整数。 56 clear s=0 q=0 for n=1 to 100 m=0

for j=1 to n if n%j=0 m=m+1 endif next if n%m=0 s=s+1 q=n if s>9 &&当它大于 9 时,q 已经是第十个数了! exit endif endif endfor ?q 31.求[444,666]范围内最大的素数是多少? 661 clear s=0 for n=444 to 666 q=0 for j=2 to sqrt(n) if n%j=0 q=1 endif endfor if q=0 s=n endif endfor ?s 32. 有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13.... 注: ( 该数列 从第二项开始,其分子是前一项的分子与分母的和,而其分 母是前一项的分子),求出这个序列前 24 项的和。要求:按 四舍五入的方式精确到小数点后第二位。 39.13 clear s=0 k=0 m=2

n=1 for j=1 to 24 k=m/n s=s+k y=m m=m+n n=y endfor ?round(s,2) 33. 已知 24 有 8 个正整数因子(即:1,2,3,4,6,8,12,24),而 24 正好被其因子个数 8 整除。问[100,300]之间有多少个能被其 因子数目整除的数。 19 clear s=0 for n=100 to 300 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if n%m=0 s=s+1 endif endfor ?s 34. 设某国今年的国民生产总值为 45600 亿元,若今后每年以 8%的增长率增长,计算多少年后能实现国民生产总值翻两番? 19 2008 clear s=0 dime f(1000) f(1)=45600 f(2)=49248 f(3)=53187.84 q=2 && 从第二年开始计算年份,所 以 f(1)不算。

for n=4 to 1000 f(n)=f(n-1)*1.08 s=f(n) q=q+1 if s>=182400 exit endif endfor ?q 35. 已知 24 有 8 个因子(即:1,2,3,4,6,8,12,24), 而 24 正好被 8 整除。 求[1,100]之间第二大能被其因子数目整 除的数。 88 clear s=0 q=0 for n=100 to 1 step -1 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if n%m=0 s=s+1 q=n if s>1 &&当它大于 1 时,q 已经是第 2 个数了! exit endif endif endfor ?q 36.若某整数平方等于某两个正整数平方之和的正整数称为 弦数。例如:由于 3^2+4^2=5^2,则 5 为弦数,求[100,200] 之间最大的弦数。 200 clear s=100 q=0

for n=100 to 200 for j=1 to n-1 for k=1 to n-1 if k^2+j^2=n^2 q=n if q>s s=q endif endif endfor endfor endfor ?s 37. 若某整数 n 的所有因子之和等于 n 的倍数,则 n 称为多 因子完备数,如数 28,其因子之和 1+2+4+7+14+28=56=2*28,28 是多因子完备数。 求[1,500]之间有多少个多因子完备数。 5 clear s=0 for n=1 to 500 m=0 for j=1 to n if n%j=0 m=m+j endif endfor if m%n=0 s=s+1 endif endfor ?s 38.设某国今年的国民生产总值为 45600 亿元,若今后每年以 9%的增长率增长,计算多少年后能实现国民生产总值翻一番? 9 clear s=0 dime f(1000) f(1)=45600

f(2)=45600*1.09 f(3)=(45600*1.09)*1.09 q=2 && 从第二年开始计算年份,所 以 f(1)不算。 for n=4 to 1000 f(n)=f(n-1)*1.09 s=f(n) q=q+1 if s>=45600*2 exit endif endfor ?q 39. 有一个三位数满足下列条件: (1)此三位数的三位数字各 不相同; (2)此三位数等于它的各位数字的立方和。试求这种 三位数共有多少个? 4 clear s=0 for n=100 to 999 a=int(n/100) b=int(n/10)%10 c=n%10 if a^3+b^3+c^3=n and a!=b and b!=c and c!=a s=s+1 endif endfor ?s 40. 找满足以下条件: x^2+y^2+z^2=41^2 且 x+y+z 之值最 大的三个正整数 x,y,z, 求 x+y+z 之值. 71 clear s=0 for x=1 to 41 for y=1 to 41 for z=1 to 41 if x^2+y^2+z^2=41^2 k=x+y+z if k>s

s=k endif endif endfor endfor endfor ?s 41. 求[2,500]之间的所有素数的和。 clear s=0 for n=2 to 500 q=0 for j=2 to sqrt(n) if n%j=0 q=1 endif endfor if q=0 s=s+n endif endfor ?s 42. 求[3-1000]之间最大的五个素数之和。 clear s=0 q=0 for n=1000 to 3 step -1 m=0 for j=2 to sqrt(n) if n%j=0 m=1 endif endfor if m=0 s=s+n q=q+1 if q>4

21536

4919

exit endif endif endfor ?s 43. 已知 24 有 8 个因子(即:1,2,3,4,6,8,12,24),而 24 正 好被 8 整除。求[100,300]之间所有能被其因子数目整除的数 之和。 3769 clear s=0 for n=100 to 300 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if n%m=0 s=s+n endif endfor ?s 44. 问[100,200]之间有奇数个不同因子的整数共有多少个? 5 clear s=0 for n=100 to 200 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if m%2=1 s=s+1 endif endfor

?s 45. 水仙花数是一个三位正整数,它等于它的各位数字的立 方之和. 例如:153=1^3+5^3+3^3,所以 153 是水仙花数. 试 求所有的水仙花数之积。 8547940170 clear s=1 &&小蔡提醒:特别注意若 s=0,则 s 乘任何数都 会为 0,所以此时 s=1。 for n=100 to 999 a=int(n/100) b=int(n/10)%10 c=n%10 if a^3+b^3+c^3=n s=s*n endif endfor 46. 把一张一元钞票,换成一分、二分和五分硬币,每种至少 8 枚,问有多少种方案? 80 clear s=0 for a=8 to 100 for b=8 to 50 for c=8 to 20 if a+2*b+5*c=100 s=s+1 endif endfor endfor endfor ?s 47. 求[200,300]之间最小的一个有奇数个不同因子的整数。 225 clear s=0 for n=200 to 300 m=0 for j=1 to n

if n%j=0 m=m+1 endif endfor if m%2=1 s=n exit endif endfor ?s 48. 一个数出现在该数的平方数的右边,称这个数为"同构数 "。例如,5 出现在平方数 25 的右边,25 出现在平方数 625 的右边,则 5、25 都是"同构数"。找出 1 到 1000 之间的所有 "同构数"的个数。 6 clear s=0 for n=2 to 1000 do case case n<10 p=n^2%10 case n<100 p=n^2%100 case n<1000 p=n^2%1000 endcase if p=n ??n s=s+1 endif endfor ?s 49. 求[300,400]之间最小的一个有偶数个不同因子的整数。 324 clear s=0 for n=300 to 400 m=0

for j=1 to n if n%j=0 m=m+1 endif endfor if m%2=0 s=n exit endif endfor ?s 50. 求[200,300]之间第二大有奇数个不同因子的整数。 256 clear s=0 q=0 for n=300 to 200 step -1 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if m%2=1 s=n q=q+1 if q>1 exit endif endif endfor ?s 51. 一个 14*14 方阵 a(i,j),其每个元素的值为该元素下标的立 方和,求出该矩阵所有元素的累加和(注:i,j 从 1 到 14). 308700 clear s=0 for n=1 to 14

for m=1 to 14 s=s+n^3+m^3 endfor endfor ?s 52. 求[100,200]之间最大的有奇数个不同因子的整数。 196 clear s=0 for n=100 to 200 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if m%2=1 s=n endif endfor ?s 53. 一个数如果恰好等于它的所有真因子之和,这个数就称 为"完数"。例如,6 的真因子为 1,2,3,而 6=1+2+3,因此, 6 是"完数"。求 1000 以内的所有完数之和。 530 clear s=0 for n=1 to 1000 m=0 for j=1 to n/2 if n%j=0 m=m+j endif endfor if m=n s=s+n endif endfor ?s

54. 一个数如果恰好等于它的所有真因子之和,这个数就称 为"完数"。例如,6 的真因子为 1,2,3,而 6=1+2+3,因此, 6 是"完数"。求[8100,8200]之间的所有完数。 8128 clear for n=8100 to 8200 m=0 for j=1 to n/2 if n%j=0 m=m+j endif endfor if m=n ??n endif endfor 55. 一个数如果恰好等于它的所有真因子之和,这个数就称 为"完数"。例如, 6 的真因子为 1,2,3,而 6=1+2+3,因此, 6 是"完数"。求[1,1000]之间的最大完数。 496 clea s=0 for n=1 to 1000 m=0 for j=1 to n/2 if n%j=0 m=m+j endif endfor if m=n s=n endif endfor ?s 56. 一个数如果恰好等于它的所有真因子之和,这个数就 称为"完数"。例如,6 的真因子为 1,2,3,而 6=1+2+3,因 此,6 是"完数"。求[1,1000]之间的第二大完数。 28 clear

s=0 q=0 for n=1000 to 1 step -1 m=0 for j=1 to n/2 if n%j=0 m=m+j endif endfor if m=n q=q+1 s=n if q>1 exit endif endif endfor ?s 57. 求 数 学 式 1-1/2+1/3-1/4+1/5-1/6+ … +1/99-1/100 的 值 (按四舍五入方式精确到小数点后 4 位) 0.6882 clear dime f(50) f(1)=1-1/2 f(2)=1/3-1/4 f(3)=1/5-1/6 s=0 for n=1 to 50 f(n)=1/(2*n-1)-1/(2*n) s=s+f(n) endfor ?round(s,4) 58. 某自然数平方的末几位与该数相同时,称此数为自同构 数,例如 25^2=625, 则称 25 为自同构数,求出[10,100000]之 间最大的自同构数。 90625 clear s=0 for n=10 to 100000

do case case n<100 p=n^2%100 case n<1000 p=n^2%1000 case n<10000 p=n^2%10000 case n<100000 p=n^2%100000 endcase if p=n s=n endif endfor ?s 59. 设某四位数的千位数字与十位数字的和等于百位数字与 个位数字的积,例如,对于四位数:9512,9+1=5*2,试问 所有这样的四位数之和是多少? 1078289 clear s=0 for n=1000 to 9999 a=int(n/1000) b=int(n/100)%10 c=int(n/10)%10 d=n%10 if a+c=b*d s=s+n endif endfor ?s 60. 求符合下列条件的四位完全平方数(某个数的平方数为 完全平方数), 它的千位数字与十位数字之和等于百位数字与 个位数字之积,例如,3136=56^2, 且 3+3=1*6 故 3136 是所 求的四位完全平方数. 求其中最大的一个数。 7921 clear s=0 for n=9999 to 1000 step -1

a=int(n/1000) b=int(n/100)%10 c=int(n/10)%10 d=n%10 e=sqrt(n) if a+c=b*d and e%1=0 s=n exit endif endfor ?s 61. 求在[10, 1000]之间的所有完备数之和。 各真因子之和 (不 包括自身)等于其本身的正整数称为完数。例如:6=1+2+3, 6 是完数。 524 clear s=0 for n=10 to 1000 m=0 for j=1 to n/2 if n%j=0 m=m+j endif endfor if m=n s=s+n endif endfor ?s 62. 求满足 a*b=718368,使 a+b 最小,且 a,b(a<b)为正整 数的 a 的值。 672 clear s=100000 for a=1 to 10000 for b=1 to 10000 if a*b=718368 and a<b k=a+b if k<s

s=k j=a endif endif endfor endfor ?j 63. 求[200,300]之间最大的有奇数个不同因子的整数。 289 clear s=0 for n=200 to 300 m=0 for j=1 to n if n%j=0 m=m+1 endif endfor if m%2=1 s=n endif endfor ?s 64. 求[3333, 6666]之间所有能被 5 整除同时能被 7 整除的数, 问共有多少个这样的数? 95 clear s=0 for n=3333 to 6666 if n%5=0 and n%7=0 s=s+1 endif endfor ?s 65. 设某四位数的各位数字的平方和为 100,且该数能被 3 整除。求共有多少个这样的四位数。 24 clear s=0 for n=1000 to 9999

a=int(n/1000) b=int(n/100)%10 c=int(n/10)%10 d=n%10 if a^2+b^2+c^2+d^2=100 and n%3=0 ??n s=s+1 endif endfor ?s 67. 计算 y=1+2/3+3/5+4/7+…+n/(2*n-1)(n=50), 要求:按四 舍五入的方式精确到小数点后第二位。 26.47 clear dime f(50) f(1)=1 f(2)=2/3 f(3)=3/5 s=0 for n=1 to 50 f(n)=n/(2*n-1) s=s+f(n) endfor ?round(s,2) 68. 若两个连续的自然数的乘积减 1 后是素数,则称此两个 连续自然数为友数对,该素数称为友素数。例如,由于 8*9-1=71, 因此,8 与 9 是友数对,71 是友素数。求[100, 200]之间的所有友素数之和。 983696 clear for j=2 to sqrt(q) if q%j=0 w=1 endif endfor if w=0 s=s+q endif

endfor ?s 69. 求数列:2/1,3/2,5/3,8/5,13/8,21/13,…… 前 50 项之和(注:此数列从第二项开始,其分子是前一项的分子与 分母之和,其分母是前一项的分子)。 (按四舍五入的方式精 确到小数点后第二位) 81.20 clea s=0 k=0 m=2 n=1 for j=1 to 50 k=m/n s=s+k y=m m=m+n n=y endfor ?round(s,2) 70. 求[1,1000]之间能被 3 整除,且至少有一位上的数是 5 的所有数之和。 46509 clear s=0 for n=15 to 1000 step 3 do case case n<100 a=int(n/10) b=n%10 if a=5 or b=5 s=s+n endif case n<1000 c=int(n/100) d=int(n/10)%10 e=n%10 if c=5 or d=5 or e=5 s=s+n

endif endcase endfor ?s 71. 当 m 的 值 为 50 时 , 计 算 下 列 公 式 之 值 : t=1-1/(2*2)-1/(3*3)-…-1/(m*m) 要求:按四舍五入的方式精 确到小数点后第四位。 0.3749 clear dime f(50) f(2)=-1/4 f(3)=-1/9 f(4)=-1/16 s=1 for n=2 to 50 f(n)=-1/(n*n) s=s+f(n) endfor ?round(s,4) 72. 若某整数 n 的所有因子之和等于 n 的倍数,则 n 称为多 因子完备数,如数 28,其因子之和 1+2+4+7+14+28=56=2*28,28 是多因子完备数。 求[1,500]之间最大的多因子完备数。 496 clear s=0 for n=1 to 500 m=0 for j=1 to n if n%j=0 m=m+j endif endfor if m%n=0 s=n endif endfor ?s

73.(2^2/(1*3))+(4^2/(3*5))+(6^2/(5*7))+ … +(2k)^2/((2k-1)*(2k+1)) (按四舍五入的方式精确到小数点 后第三位) 20.488 clear dime f(20) f(1)=4/3 f(2)=16/15 f(3)=36/35 s=0 for n=1 to 20 f(n)=(2*n)^2/((2*n-1)*(2*n+1)) s=s+f(n) endfor ?round(s,3) 74. 求级数 1/(1*2)+1/(2*3)+.....+1/(n*(n+1))的和的近似值,直 到级数中有一项的值小于 1e-4 为止. 要求:按四舍五入的 方式精确到小数点后第二位。 0.99 clear s=0 for n=1 to 100000 k=1/(n*(n+1)) &&一定要记得分母是多项相乘时, 分母要加括号! ! s=s+k if k<1/10000 exit endif endfor ?round(s,2) 75. 某自然数平方的末几位与该数相同时,称此数为自同构 数,例如 25^2=625, 则称 25 为自同构数,求出[10,100000]之 间最大的自同构数。 90625 clear s=0 for n=10 to 100000 do case case n<100

p=n^2%100 case n<1000 p=n^2%1000 case n<10000 p=n^2%10000 case n<100000 p=n^2%100000 endcase if p=n s=n endif endfor ?s 76. 求 1000 以内, 同时能被 3 和 7 整除的所有自然数之和的 平方根。(按四舍五入的方式精确到小数点后第二位)。 153.91 clear s=0 for n=1 to 1000 if n%3=0 and n%7=0 s=s+n endif endfor ?round( sqrt(s),2) 77. 已 知 s1=1, s2=1+3, s3=1+3+5, s4=1+3+5+7,s5=1+3+5+7+9 , … , 编 制 一 个 程 序 求 s=s1+s2+s3+s4+s5+…+s20 的值. 2870 clear dime f(20) f(1)=1 f(2)=4 f(3)=9 s=14 for n=4 to 20 f(n)=f(n-1)+(2*n-1) s=s+f(n) endfor

?s 78. 已 知 s1=2, s2=2+4, s3=2+4+6, s4=2+4+6+8,s5=2+4+6+8+10 , … , 编 制 一 个 程 序 求 s=s1+s2+s3+s4+s5+…+s20 的值. 3080 clear dime f(20) f(1)=2 f(2)=6 f(3)=12 s=20 for n=4 to 20 f(n)=f(n-1)+(2*n) s=s+f(n) endfor ?s 79. 当 n=100 时 , 计 算 输 出 下 列 多 项 式 的 值 s=(1-1/2)+(1/3-1/4)+……+(1/(2*n-1)-1/(2*n)) 按四舍五入的 方式精确到小数点后第三位。 0.691 clear dime f(100) f(1)=1/2 f(2)=1/12 f(3)=1/30 s=0 for n=1 to 100 f(n)=1/(2*n-1)-1/(2*n) s=s+f(n) endfor ?round(s,3) 80. 当 n 的 值 为 25 时 , 计 算 下 列 公 式 的 值 s=1+1/1!+1/2!+1/3!+…+1/n! 要求:按四舍五入的方式精确 到小数点后第四位。 2.7183 clear dime f(25) f(1)=1 f(2)=1/2

f(3)=1/6 s=1 for n=1 to 25 p=1 for j=1 to n p=p*j f(n)=1/p endfor s=s+f(n) && s 的初值在第一个 for 的前面,绝对不要 进入第二个 for 循环 endfor ?round(s,4) 81. 当 n 的值为 50 时, s 的值。 s=1+1/(1+2)+1/(1+2+3)+… 求 +1/(1+2+3+…+n) 要求: 按四舍五入的方式精确到小数点后 第四位。 1.9608 clear dime f(50) f(1)=1 f(2)=3 f(3)=6 s=0 k=0 for n=1 to 50 k=k+n f(n)=1/k s=s+f(n) endfor ?round(s,4) 82. 当 m 的 值 为 50 时 , 计 算 下 列 公 式 之 值 : t=1+1/(2^2)+1/(3^2)+…+1/(m^2) (按四舍五入的方式精确到 小数点后第四位)。 1.6251 clear dime f(50) f(1)=1 f(2)=4 f(3)=9

s=0 for n=1 to 50 f(n)=1/n^2 s=s+f(n) endfor ?round(s,4) 83. 当 m 的 值 为 50 时 , 计 算 下 列 公 式 的 值 : t=1-1/2-1/3-1/4-…-1/m 要求: 按四舍五入的方式精确到小数 点后第四位。 -2.4992 clear dime f(49) f(1)=-2 f(2)=-3 f(3)=-4 s=1 for n=1 to 49 f(n)=-(n+1) s=s+1/f(n) endfor ?round(s,4) 84. 求[500,1999]之间的十位数字为 7 的素数的个数。 22 clear s=0 for n=500 to 1999 m=0 q=int(n/10)%10 for j=2 to sqrt(n) if n%j=0 m=1 endif endfor if m=0 and q=7 s=s+1 endif endfor ?s

85. 求[351,432]之间所有既不能被 3 整除,又不能被 8 整除的 整数的和。 18413 clear s=0 for n=351 to 432 if n%3!=0 and n%8!=0 s=s+n endif endfor ?s 86. 求从 6 开始的前 6 个同构数(若某数与其本身的平方数低 位部分相等,则称之为同构数,如 6,其平方数为 36)的和。 10484 clear s=0 q=0 for n=6 to 9999 do case case n<10 p=n^2%10 case n<100 p=n^2%100 case n<1000 p=n^2%1000 case n<10000 p=n^2%10000 endcase if n=p q=q+1 s=s+n if q>6 exit endif endif endfor ?s

87. 若某整数 n 的所有因子之和等于 n 的倍数,则 n 称为多 因子完备数,如数 28,其因子之和 1+2+4+7+14+28=56=2*28,28 是多因子完备数。求[1,500]之间按从小到大的顺序排列的第 三个多因子完备数。 28 clear s=0 for n=1 to 500 m=0 for j=1 to n if n%j=0 m=m+j endif endfor if m%n=0 s=s+1 if s>2 exit endif endif endfor ?n 88. 求[100,10000]中其各位数字之和能被 7 整除的数的个数。 1408 clear s=0 q=0 for n=100 to 10000 do case case n<1000 a=int(n/100) b=int(n/10)%10 c=n%10 q=a+b+c case n<10000 d=int(n/1000) e=int(n/100)%10 f=int(n/10)%10

g=n%10 q=d+e+f+g endcase if q%7=0 s=s+1 endif endfor ?s 89. 若 (x,y,z) 满足方程: x^2+y^2+z^2=55^2(注: 要求 x > y > z),则(x,y,z)称为方程的一个解。试求方程的整数解(包括 负整数解)的个数。 62 clear s=0 for x=-55 to 55 for y=-55 to 55 for z=-55 to 55 if x^2+y^2+z^2=55^2 and x>y and y>z s=s+1 endif endfor endfor endfor ?s 90. 一只猴子一天从山上摘来一袋桃子,从这天开始,它每 天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再 从剩下的桃中拿出一个解谗,等到第 10 天,它发现袋中只 有一只桃可吃啦,问猴子总共摘了多少桃。 1534 clear dime f(10) f(1)=1 f(2)=4 f(3)=10 s=0 for n=4 to 10 f(n)=2*f(n-1)+2

s=f(n) endfor ?s 91. 编程求取:[121,140] 之间的弦数的个数(若某正整数的 平方等于另两个 正整数平方之和 ,则称该数为弦 数 . 例 如:3^2+4^2=5^2, 因此 5 是弦数)。 8 clear s=0 q=121 for n=121 to 140 for j=1 to n-1 for i=1 to n-1 if n^2=i^2+j^2 and n>q q=n s=s+1 endif endfor endfor endfor ?s 92. 回文数是指正读和反读都一样的正整数。 例如 3773 等都 是回文数。求出[1000,9999]以内的所有回文数的个数。 90 clear s=0 for n=1001 to 9999 a=int(n/1000) b=int(n/100)%10 c=int(n/10)%10 d=n%10 if a=d and b=c s=s+1 endif endfor ?s

93. 有一辆以固定速度行驶在高速公路上的汽车, 清晨司机 看到里程表上从左到右的读数和从右到左的读数是相同的, 这个数是 95859, 7 小时后, 里程表又出现了一个新的对称数。 设里程表为 5 位数字, 问这个新的对称数是什么? 95959 clear for n=95860 to 99999 a=int(n/10000) b=int(n/1000)%10 c=int(n/10)%10 d=n%10 if a=d and b=c exit endif endfor ?n 94. 利 用 格 里 高 利 公 式 : α /4=1-1/3+1/5-1/7+1/9-1/11+ … -1/99,求α 的值。要求:按四舍五入的方式精确到小数点后 第二位。 3.13 clear dime f(50) f(1)=1-1/3 f(2)=1/5-1/7 f(3)=1/7-1/11 a=0 for n=1 to 50 f(n)=1/(4*n-3)-1/(4*n-1) a=a+f(n) endfor ?round(4*a,2) 95. 已知正整数 a,b(假定 a<b),满足 a*b=5432,求 s=a+b 的 最小值。 153 clear s=5432 for a=1 to 5432 for b=1 to 5432 if a*b=5432 and a<b

k=a+b if k<s s=k endif endif endfor endfor ?s 96. 编程求区间[500,2500]中按递增顺序第 25 个素数。 659 clear s=0 q=0 for n=500 to 2500 m=0 for j=2 to sqrt(n) if n%j=0 m=1 endif endfor if m=0 s=n q=q+1 if q>24 exit endif endif endfor ?s 97. 已知:非等腰三角形最长边是 60,其它两边的长度都是 正整数,且三边之和能被 3 整除,试编程求取这类三角形的 个数(注意:两边的长度交换构成的三角形算作同一个三角 形,如:其它两边的长度为 30,40 的三角形与长度为 40,30 的三角形视为同一个三角形)。 271 clear s=0 for a=2 to 59

for b=1 to 58 if a>b and a+b>60 and (a+b+60)%3=0 s=s+1 endif endfor endfor ?s 98. 统计[100,10000]之间有多少个这样的整数,其各位数字之 和能被 7 整除 1408 clear s=0 q=0 for n=100 to 10000 do case case n<1000 a=int(n/100) b=int(n/10)%10 c=n%10 q=a+b+c case n<10000 d=int(n/1000) e=int(n/100)%10 f=int(n/10)%10 g=n%10 q=d+e+f+g endcase if q%7=0 s=s+1 endif endfor ?s 99. s1=1, s2=1+3, s3=1+3+5, s4=1+3+5+7, sn=1+3+5+7+… …, + 2n-1)n 为正整数。 ( , 编程求 s1+s2+s3+s4+…+sn 的值<20000 时的 n 的最大值。 38 clear dime f(10000) f(1)=1

f(2)=3 f(3)=5 s=0 q=0 for n=1 to 10000 f(n)=2*n-1 s=s+f(n) q=q+s if q>20000 exit endif endfor ?n-1 100. 求[1,999]之间能被 3 整除,且至少有一位数字是 5 的 所有正整数的个数。 91 clear s=0 for n=15 to 999 step 3 do case case n<100 a=int(n/10) b=n%10 if a=5 or b=5 s=s+1 endif case n<999 c=int(n/100) d=int(n/10)%10 e=n%10 if c=5 or d=5 or e=5 s=s+1 endif endcase endfor ?s

101. 若一自然数等于其所有真因子(不包括该数本身)之和, 则称该数为完数. 例如:6 的真因子有 1,2,3,且 6=1+2+3 ,因此 6 为完数, 求[3,1000]之间最大的完数。 496 clear s=0 for n=3 to 1000 m=0 for j=1 to n/2 if n%j=0 m=m+j endif endfor if m=n s= n endif endfor ?s 102. 求[500,2500]之间按递增顺序的素数中的第 25 大的素 数。 659 clear s=0 q=0 for n=2500 to 500 step -1 m=0 for j=2 to sqrt(n) if n%j=0 m=1 endif endfor if m=0 s=n q=q+1 if q>24 exit endif endif endfor

?s 103. 某一正整数, 进行递减, 第一次减去该数的一半再减一, 以后每次都减去前一次剩下的数的一半后再减一,直到第十 次减后,剩1。求该数。 1534 clear dime f(10) f(1)=1 f(2)=4 f(3)=10 s=0 for n=4 to 10 f(n)=2*f(n-1)+2 s=f(n) endfor ?s 104. 有一辆以固定速度行驶在高速公路上的汽车, 清晨司 机看到里程表上从左到右的读数和从右到左的读数是相同 的, 这个数是 95859, 7 小时后,里程表又出现了一个新的对 称数。设里程表为 5 位数字, 问此车的时速是多少公里(是一 整数)? 14.2857 clear s=0 for n=95860 to 99999 a=int(n/10000) b=int(n/1000)%10 c=int(n/10)%10 d=n%10 if a=d and b=c and (n-95859)%7=0 s=(n-95859)/7 exit endif endfor ?s 105. 已知 s1=1,s2=1+2,s3=1+2+3…,sn=1+2+…n,求 s20 到 s80 之间有多少个数能被 17 或 35 整除。 12 clear

dime f(80) f(1)=1 f(2)=3 f(3)=6 s=0 k=0 for n=4 to 80 f(n)=f(n-1)+n k=k+1 if k>=16 and (f(n)%17=0 or f(n)%35=0) &&一定要记得给 "f(n)%17=0 or f(n)%35=0"加上括号 s=s+1 &&因为"f(n)%17=0 or f(n)%35=0" 与 "k>=16"要同时满足。 endif endfor ?s 106. 已知 s=2+(2+4)+(2+4+8)+(2+4+8+16)+…,求 s>6000 的 s 的最小值。 8166 clear s=0 p=0 for n=1 to 100 k=2^n p=p+k s=s+p if s>6000 exit endif endfor ?s 107. 分子分母为正整数, 分子小于分母且分子分母无公因数 的分数称为最简真分数。对于分数的分母取值范围为 [50, 90] 时的最简真分数共有多少个. 773 clear s=0 for n=50 to 90

for m=1 to n-1 p=0 for j=2 to m if n%j=0 and m%j=0 p=1 exit endif endfor if p=0 s=s+1 endif endfor endfor ?s 111. 当 k 值 为 20 时 , 求 s 的 值 。 (1^2/(1*3))*(4^2/(3*5))*(6^2/(5*7))* … *(2k)^2/((2k-1)(2k+1)) (按四舍五入的方式精确到小数点后第三位) 1.552 clear dime f(20) f(1)=4/3 f(2)=16/15 f(3)=36/35 s=1 for n=1 to 20 f(n)=(2*n)^2/((2*n-1)*(2*n+1)) s=s*f(n) endfor ?round(s,3) 112. 求 1000 以内,同时能被 3 和 7 整除的所有自然数之和 的平方根。(按四舍五入的方式精确到小数点后第二位)。 153.91 clear s=0 for n=1 to 1000 if n%3=0 and n%7=0 s=s+n endif

endfor ?round(sqrt(s),2) 113. 求 y=1-1/2+1/3-1/4+...-1/2*n 前 30 项之和。要求:按 四舍五入的方式精确到小数点后第二位。 0.68 clear dime f(15) f(1)=1-1/2 f(2)=1/3-1/4 f(3)=1/5-1/6 s=0 for n=1 to 15 f(n)=1/(2*n-1)-1/(2*n) s=s+f(n) endfor ?round(s,2) 114. 当 n=100 时 , 计 算 输 出 下 列 多 项 式 的 值 s=(1-1/2)+(1/3-1/4)+……+(1/(2n-1)-1/(2n)) 按四舍五入的方 式精确到小数点后第三位。 0.688 clear dime f(50) f(1)=1-1/2 f(2)=1/3-1/4 f(3)=1/5-1/6 s=0 for n=1 to 50 f(n)=1/(2*n-1)-1/(2*n) s=s+f(n) endfor ?round(s,3) 115. 找出 2×3 矩阵中的最大数和最小数 clear rand(-1) m= "" dime n(2, 3) for i = 1 to 2 for j = 1 to 3 n(i, j) = int(rand() * 100)

if empty(m) m = alltrim(str(n(i,j))) else m =m + ", " + alltrim(str(n(i, j))) endif ?n(i, j) endfor endfor ?m ?"最大数:", max(&m.) ?"最小数:", min(&m.) return 119. 计算数列 50,52,54,……100 的平均值 方法 1 clear dime f(26) f(1)=50 f(2)=52 f(3)=54 s=156 for n=1 to 26 f(n)=f(n-1)+2 s=s+ f(n) endfor y=s/50 ?y 方法 2 clear s=0 for i=50 to 100 step 2 s=s+i endfor y=s/50 ?y 120. 从键盘输入三个数,求最大值 input "请输入一个数:"to a

input "请输入一个数:"to b input "请输入一个数:"to c max=a if max<b max=b endif if max<c max=c endif ?"最大的数是:",allt(str(max)) 121. 铁路拖运行李,从甲地到乙地,按规定每张客票拖运行 李不超过 50 公斤时,每公斤 0.25 元,如超过 50 公斤,超过 部分按每公斤 0.45 元计算。编程,把行李重量输入计算机, 计算出运费,并打印付款清单。 input"请输入行李重量:"to w if w<=50 p=0.25*w else p=50*0.25+(w-50)*0.45 endif ?"应付运输费为:",p,"元" cancel 122. 11-10 已 知 系 数 a,b,c 编 写 程 序 , 求 一 元 二 次 方 程 ax2+bx+c=0 的根。 例题分析:①当 a<>0 时,有两个根; ②当△>0 时,有两个不同的实根; ③当△=0 时,有两个相同的实根; ④当△<0 时,有两个不同的根; ⑤当 a=0,b<>0 时,有一个根; ⑥当 a=0,b=0 时,方程无意 根据以上分析,写出程序: input "a=" to a input "b=" to b input "c=" to c if a<>0

delta=b^2-4*a*c re=-b/(2*a) im=sqrt(abs(delta))/(2*a) if delta>=0 root1=re+im root2=re-im ? "两个根为:",root1,root2 else ? "两个根为:",re,"+",im,"I", re,"-",im,"I" endif else if b<>0 ? "只有一个根:",-c/b else ? "方程退化" endif endif cancel 123. 设计一个按不同幼儿年龄服药的程序, 年龄变量为 age, 每次服药次数 count,每次服药量 mount。程序为: medicine='阿司匹林' input'输入年龄:'to age do case case age<5 counts='4 次/天' mount='每次 1 片' case age<10 counts='4 次/天' mount='每次 2 片' otherwise counts='3 次/天' mount='每次 2 片' endcase ?medicine+'服法是'+counts+'·' +mount return

124. 有一张厚 0.5 毫米,面积足够大的纸,将它不断对折。问 对折多少次后,其厚度可达珠穆郎玛峰的高度(8848 米)。 问题分析: 每次对折都是上次厚度的 2 倍,然后用此厚度 与珠穆郎玛峰的高度作比较,每次循环作一次计数,以便统 计对折的次数。 n=0 h=0.5 do while h< 88488000 n=n+1 h=2*h enddo ?"对折次数为:",n cancel 125. 打印九九乘法表。 clear a=1 b=1 do while a<=9 do while b<=9 t=a*b ?? t b=b+1 enddo a=a+1 ? enddo cancel 126. 设计一个保密口令程序,要求用户使用某个系统时,必 须回答口令,该程序口令为"49712"才能允许进入系统,但最 多只允许输入三次,否则,退 foxpro 系统。程序如下: for i=1 to 3 clear @10,10 say "请输入口令:" set console off accept to k1 set console on

if k1="49712" wait"欢迎使用本系统!"timeout 10 exit else wait"口令错,请按任意键后重新输入!" endif endfor if i>3 wait "对不起,你不能使用本系统!"timeout 10 quit endif return 127. 某单位举行业余歌手竞赛,竞赛评分专家 10 人组成, 专家各自按百分制评分,对 每位歌手的得分去掉最高分和最低分,然后求其分数的平均 值,并按每位参赛歌手平均得分高低排序,显示前三名歌手 情况。 128. 应用一维数组对 n 个数据进行排序. 129. 求任意一个数值的绝对值 clear input "请输入数值:" to n if n<0 n=-n endif ?"|N|的绝对值为:",n cancel 130. 判断输入的整数为奇数还是偶数。 clear input "请输入整数:" to n if n%2=0 &&该表达式还可用 MOD(N,2)=0 来表示 ?str(n,4)+"是偶数" else ?str(n,4)+"是奇数" endif cancel

131. 将用户输入的小写英文字母转化成大写 clear accept "请输入 1 个字母:" to str1 if str1>='a' and str1<='z' str1=upper(str1) ?space(40)+str1 else if str1>='A' and str1<='Z' ?space(40)+str1 else ?'您输入的不是英文字母' endif endif 132. 比较 a、b 的大小 clear input "请输入 A 的值:" to a input "请输入 B 的值:" to b do case case a>b ?"A 大于 B" case a<b ?"A 小于 B" case a=b ?"A 等于 B" endcase 133. 邮局负责邮购小物品规则如下:50 公里及以内收取额 外金额 5 元,50-100 公里收取 10 元,100-200 公里收取 20 元,200-500 公里收取 40 元,其余一律收取 50 元。 clear input "请输入您想邮购物品的路程(公里数) " to x : do case case x<=50 y=5 case x>50 and x<=100 y=10

case x>100 and x<=200 y=20 case x>200 and x<=500 y=40 otherwise y=50 endcase ?'对不起, 您需要付款: ',y,'元人民币' 134. 通过键盘输入三角形的边长,若边长正确,立即在屏幕 上显示三角形的面积,若边长不正确,重新输入边长,若输 入的边长中任意一边为 0 则程序立即结束。 clear ?"现在计算三角型的面积,如果想退出程序请输入 0。" do while .t. input "请输入边长 a:" to a input "请输入边长 b:" to b input "请输入边长 c:" to c if a=0 or b=0 or c=0 ?'结束' return endif if a+b<=c or a+c<=b or b+c<=a ?'错误的三角型,请重新输入!' loop endif s=(a+b+c)/2 area=sqrt(s*(s-a)*(s-b)*(s-c)) ?'该三角型的面积是:',area enddo 135. 将 1、2、3、…10 顺序输入一维数组,实现顺序输出和 逆序输出。 dime a(10) for i=1 to 10 a(i)=i endfor for i=1 to 10

?a(i) endfor for i=10 to 1 step -1 ?a(i) endforr 136. 有 5 个英文单词,分别为:word,excel,powerpoint, type,angle,要求设计出如下程序: (1)在键盘上输入数 n(本例输入 5) ,把英文单词放 入名为 x 大小为 n 的数组中 (2)显示出 x 数组中的英文单词 (3)对数组中的英文单词从小到大排序 (4)显示出排序后 x 数组中英文单词 clear set talk off dime x(5) x(1)="Word" x(2)="Excel" x(3)="Powerpoint" x(4)="Type" x(5)="Angle" ? "排序前:" for i=1 to 5 ?? x(i) ?? " " endfor for i=1 to 5 for j=1 to i if x(i)>x(j) a=x(i) x(i)=x(j) x(j)=a endif endfor endfor ? "排序后:" for i=1 to 5

?? x(i) ?? " " endfor 137. 判断输入的字符属于字母,数字或特殊符号 clear accept "请输入一个字符:" to zf x=asc(zf) do case case x>=48 and x<=57 ?"是数字" case x>=65 and x<=90 ?"是大写字母" case x>=97 and x<=122 ?"是小写字母" otherwise ?"是特殊字符" endcase 138. 一个三位数的个、十、百位数的立方和等于这个数 本身,求这个数 答案为:153,370,371,407 共 4 个 for i=100 to 999 a=alltrim(str(i)) for j=1 to 3 k=alltrim(str(j)) c&k=substr(a,j,1) endfor c=val(c1)^3+val(c2)^3+val(c3)^3 if c=i messagebox("这个数为:"+alltrim(str(i))) endif endfor 139. 求水仙花数,即一个三位数,去各位上的数字的立 方和等于其本身。如 153=1^3+5^3+3^3 ?"水仙花数:" m=100 do while m<1000

a=int(m/100) b=int((m-a*100)/10) c=int(m-a*100-b*10) if m==a^3+b^3+c^3 ?m ??":" ??a,b,c endif m=m+1 enddo 140. 若一个自然数的立方的末三位数字为 999, 则称这样 的自然数为"千禧数",求最小的"千禧数"。 设 n 是"千禧数",则 n^3+1 可被 1000 整除, n^3+1=(n+1)(n^2-n+1). n^2-n+1 总是奇数。 此外,n^2-n+1 总不是 5 的倍数.因为: n=5m 时,n^2-n+1=25m^2-5m+1,除以 5 的余数为 1, n=5m+1 时,n^2-n+1=25m^2+10m+1-5m-1+1,除以 5 的余 数为 1, n=5m+2 时,n^2-n+1=25m^2+20m+4-5m-2+1,除以 5 的余 数为 3, n=5m+3 时,n^2-n+1=25m^2+30m+9-5m-3+1,除以 5 的余 数为 2, n=5m+4 时, n^2-n+1=25m^2+40m+16-5m-4+1,除以 5 的余 数为 3. 所以,n+1 是 100 的倍数,最小的"千禧数"是 999 141. 已 知 三 角 形 的 三 边 ( 从 键 盘 输 入 ) , 求 其 面 积 (s^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2) clear do while .t. do while .t. input "请输入第一条边的长度:" to a if not type([a]) = "N" or a <= 0 ?"数据无效!" else

exit endif enddo do while .t. input "请输入第二条边的长度:" to b if not type([b]) = "N" or b <= 0 ?"数据无效!" else exit endif enddo do while .t. input "请输入第三条边的长度:" to c if not type([c]) = "N" or c <= 0 ?"数据无效!" else exit endif enddo if a + b <= c or a + c <= b or b + c <= a && 任意两边之 和大於第三边 messagebox("您输入的三边不能构成三角形!", 0 + 16, "Warning!") clear else exit endif enddo ? ?"该三角形的面积为:", sqrt(((a + b + c)/2) * (((a + b + c)/2)-a) * (((a + b + c)/2)-b) * (((a + b + c)/2)-c)) &&& 海伦秦 九韶公式 return 142. s=1*2*3*4*……*n 求 s 不大于 400000 时 n 的最大值。 clear

s=1 n=1 do while .t. s=s*n if s>=400000 exit endif n=n+1 enddo ?n-1 &&当大于 400000 的时候就已经超过最大值了, 所以减 1,答案应该是 9 143. 编程计算 s=1*2+2*3+3*4+...+100*101 s=0 for i=1 to 100 s=s+i(i+1) endfor 144. 从键盘输入 3 个数,求他们的最大值,最小值和平 均值。 clear dime a(3) cstr="" cstrmax="" cstrmin="" cstraverage="" for i=1 to 3 accept "请输入第"+alltrim(str(i))+"个数:" to a(i) if empty(alltrim(a(i))) messagebox("数字不能为空,请重新输入数字","系 统提示") i=i-1 loop endif cstr=cstr+a(i)+"," cstraverage=cstraverage+a(i)+"+" endfor n=len(cstr)

cstr=left(cstr,n-1) m=len(cstraverage) cstraverage=left(cstraverage,m-1) cstrmax="max"+"("+cstr+")" cstrmin="min"+"("+cstr+")" cstraverage="("+cstraverage+")"+"/"+alltrim(str(i-1)) ?"最大值:",evaluate(cstrmax) ?"最小值:",evaluate(cstrmin) ?"平均值:",evaluate(cstraverage) 145. 编程 s=1-1/2+1/3-1/4+....-1/10 a=0 for i=1 to 10 a=a+(-1)^(i-1)*(1/i) endfor ?"1-1/2+1/3-1/4+.. ..-1/10=",a 146. 求 s=1+1/2+2/3+3/5. . . . . .前 10 项之和 clear nnum01 = 1 nnum02 = 1 nnum03 = 0 nsum = 1.5 ?space(10) ??alltrim(str(nnum01)) + "/1 + " ??alltrim(str(nnum02)) + "/2 + " for nloop_01 = 1 to 8 nnum03 = nnum01 + nnum02 if nloop_01 = 8 ??alltrim(str(nnum03)) + "/" + alltrim(str(nnum02 + nnum03)) + " = " else ??alltrim(str(nnum03)) + "/" + alltrim(str(nnum02 + nnum03)) + " + " endif nsum = nsum + (nnum03/(nnum02 + nnum03)) nnum01 = nnum02 nnum02 = nnum03 endfor

??alltrim(str(nsum, 20, 5)) return *** 屏显: *** 1/1 + 1/2 + 2/3 + 3/5 + 5/8 + 8/13 + 13/21 + 21/34 + 34/55 + 55/89 = 6.47991 方法 2: clear s=0 k=0 m=1 n=1 for j=1 to 10 k=n/m s=s+k y=m m=m+n n=y endfor ?"1/1 + 1/2 + 2/3 + 3/5 + 5/8 + 8/13 + 13/21 + 21/34 + 34/55 + 55/89 =",alltrim(str(s,6,4)) 147. 求 s=1+1+2+1+2+3+1+2+3+4· · · +1+2+3+4+5+6+7+8+9+10 ··· w=0 for i=1 to 10 s=0 for j=1 to i s=s+j endfor w=w+s endfor ?w 148. 输入一行字符,分别统计出其中英文字母,空格, 数字和其他字符的个数。 clear accept "请输入一串字符:" to x

store 0 to dyw,xyw,kg,sz,qt m=len(x) for i=1 to m x1=substr(x,i,1) k=asc(x1) do case case k=32 kg=kg+1 case k>=48 and k<=57 sz=sz+1 case k>=65 and k<=90 dyw=dyw+1 case k>=97 and k<=122 xyw=xyw+1 otherwise qt=qt+1 endcase endfor ?"其中空格有: "+alltrim(str(kg))+"个" ?"大写字母有: "+alltrim(str(dyw))+"个" ?"小写字母有: "+alltrim(str(xyw))+"个" ?"数字有: "+alltrim(str(sz))+"个" ?"其它字符有: "+alltrim(str(qt))+"个"

149. 按照成绩评定等级(就是成绩输入要在 0 到 100 之 间,90 到 100 算优秀,80 到 90 算良好.70 到 80 算中等.60 到 70 算及格,其他算不及格) 150. 求 sn=a+aa+aaa+aaaa+aaaaaa……a 的和 151. 利用 a/4=1-1/3+1/5-1/7+……求 a 的值 152. 百钱买百鸡,100 元钱买 100 只鸡,公鸡 2 元一只, 母鸡 3 元一只,小鸡五角一只,打印所有方案 153. 求 1 到 100 的无重复勾股数 154. 编程求 pear-apa=pea 的数字组合 155. 一球从 100 米高度自由落下,每次落地后反跳回原 地高度的一半再落下, 求在第 10 次落地时, 其经过多少米? 第 10 次反弹多高? 156. 有 1.2.3.4.四个数字,能组成多少个互不相同的无重 复数字的三位数,都是多少 157. 古典问题,有一对兔子,从出生后的第三个月起, 每个月都生一对兔子,,小兔子长到三个月以后,每个月又 生一对兔子,假如兔子都不死,问每个月的兔子总数为多 少? 158. 抓交通肇事犯。一辆卡车违反交通规则,撞人逃跑 后,现场三人目击事件,但却没有记住车牌,只有记住车牌 的一些特征,甲说,:"牌照的前两位数字是相同的,而且不 是 0,"乙说:"牌照后边两位数字是相同的,但却与前边两 位数字不同。 "丙是数学家, 他说四位的车牌的车牌刚好是一 个数的平方," 请根据以上线索求出车号?? 丙是数学家,他说四位的车牌的车牌刚好是一个数的平 方,丙是数学家,他说四位的车牌的车牌刚好是一个数的平 方,159. 求 s(n)=a+aa+aaa+...+aaa....aaa(其中有 n 个 a)之值, a 是一个数字,n 和 a 由键盘键入(例如: 2+22+222+22222+22222,此时 n=5)" clear cgetlenth_a = "" nmaxlenth_n = 09 &&& n 的最大数。 *** 因 VFP 数字取值范围为:-2 147 483 647 到 2 147

483 646,即: *** 正整数最大只能是十个位,且若十个位时,第一个位 的数字最大只能是:2。 *** 还加上要累加计算,所以此最大值只能取九个位! cmaxlenth_n = alltrim(str(nmaxlenth_n)) do while .t. input "请输入 a:" to ngetlenth_a if type("nGetLenth_a") = "N" if between(ngetlenth_a, 1, 9) cgetlenth_a = alltrim(str(ngetlenth_a)) exit else messagebox("数字已限定在 1-9 之间!", 0 + 64, "") endif else messagebox("输入的字符不是数字型的字符!", 0 + 16, "Warning") endif enddo do while .t. input "请输入 n:" to ngetlenth_n if type("nGetLenth_n") = "N" cgetlenth_n = alltrim(str(ngetlenth_n)) if ngetlenth_n >= 1 and ngetlenth_n <= nmaxlenth_n exit else messagebox("数字已限定在 1-&cMaxLenth_n. 之间!", 0 + 64, "") endif else messagebox("输入的字符不是数字型的字符!", 0 + 16, "Warning") endif enddo

cshowstr = "" ntotal = ngetlenth_a cshowstr = cshowstr + "S(&cGetLenth_n.) = &cGetLenth_a." for nloop_02 = 2 to ngetlenth_n cshowstr = cshowstr + " + " + replicate(cgetlenth_a, nloop_02) ntotal = ntotal + val(replicate(cgetlenth_a, nloop_02)) next cshowstr = cshowstr + "(其中有 &cGetLenth_n. 个 &cGetLenth_a.)" ? ?cshowstr ??" = " + alltrim(str(ntotal)) ? return 160. 输入一个三位数,将其反向输出。如输入 314,输出 413 accept "请输入一个三位数:" to x m="" for i=3 to 1 step -1 m=m+substr(x,i,1) endfor ?"倒序为:",m 161. 编写程序输出一下形式 1 22 333 4444 333 22 第一种. for i=1 to 4 for j=1 to i ??i &&这个位置一定要用 2 个问号,目的是当前

行输出 endfor ? endfor for i=3 to 1 step -1 for j=1 to i ??i &&这个位置也是要用 2 个问号的 endfor ? endfor 第二种 for i=1 to 4 for j=1 to i ?i endfor ? endfor for i=3 to 1 step -1 for j=1 to i ?i endfor ? endfor 162. 从键盘输入 2 个数,完成以下功能:1 输出这两个数 2 将这两个变量的值进行互换后进行输出 input "a=" to a input "b=" to b ?"a=",a,"b=",b c=b b=a a=c ?"互换后 a=",a,"互换后 b=",b 163. 输入一个数,如果是偶数那么就输出它的平方,如果 是奇数就输出它的立方 clear

input "请输入一个数:" to a if a%2=0 s=a^2 else s=a^3 endif ?s 164. 1-1000 之中偶数的立方和 s=o for i=2 to 1000 step 2 s=s+i^3 endfor ?s return 165. 1 到 1000 所有奇数的平方和 0 s=0 for i=1 to 1000 step 2 s=s+i^2 endfor ?s 166. 输入一个数,判断奇数偶数 input "请输入一个数:" to n if n%2=0 ?n,"是偶数" else ?n,"是奇数" endif 167. 输出 99 乘法表 clear i=0 j=0 for i =1 to 9 for j = 1 to i ??" " ??alltrim(str(j))

??alltrim("*") ??alltrim(str(i)) ??alltrim("=") ??alltrim(str(j*i)) ??" " endfor ? endfor return 168. 怎样用 vf 编程做出 99 乘法表,可以不带框 clear for i=1 to 67 ??"*" endfor ? for i=1 to 9 ??"* " for j=1 to i mychr=alltrim(str(i))+"*"+alltrim(str(j))+"="+iif(len(alltrim( str(i*j)))=1," "+alltrim(str(i*j)),alltrim(str(i*j)))+" " ??mychr endfor for j=1 to 63-7*i ??" " endfor ??" *" ? endfor for i=1 to 67 ??"*" endfor 169. 输入任意一个五位整数,前后对应位置上的数据进 行交换重新排列(即逆序排列 clear rand(-1) nrandno = 0

do while nrandno < 10000 nrandno = int(rand() * 99999) &&& 随机产生一个五位 数 enddo crandno = alltrim(str(nrandno)) ?"随机产生的五位数是:" ??crandno ? ?"该数逆序显示情形是:" for nloop_01 = len(crandno) to 1 step -1 ??substr(crandno, nloop_01, 1) endfor 170. 从键盘输入 3 个数,对其进行从小到大排序 方法之一: accept "请输入第一个数据:" to a accept "请输入第二个数据:" to b accept "请输入第三个数据:" to c dimension amyarray(3) amyarray(1) = a amyarray(2) = b amyarray(3) = c = asort(amyarray) ? ? amyarray(1), amyarray(2), amyarray(3) 方法之二: accept "请输入第一个数据:" to a accept "请输入第二个数据:" to b accept "请输入第三个数据:" to c if a > b if a > c cmax = a if b > c cmin = c cmid = b else

cmin = b cmid = c endif else cmax = c if a > b cmin = b cmid = a else cmin = a cmid = b endif endif else if b > c cmax = b if a > c cmin = c cmid = a else cmin = a cmid = c endif else cmax = c if a > b cmin = b cmid = a else cmin = a cmid = b endif endif endif ? ?cmin, cmid, cmax

172. 判断输入的字符时字母还是数字 clear input "请输入一个字符:" to x do case case asc(x)>=48 and asc(x)<=57 ?"是数字" case asc(x)>=65 and asc(x)<=90 ?"大写字母" case asc(x)>=97 and asc(x)<=122 ?"小写字母" otherwise ?"其它字符" endcase 173. 从键盘上接受一个字符串,统计该字符串中包含数 字字符(0~9)的总个数 accept "字符串" to a b=0 for i=1 to len(a) if asc(substr(a,i,1))>=asc("0") and asc(substr(a,i,1))<=asc("9") b=b+1 endif endfor ?"一共:",b 174. 计算 5+55+555+………+5555555555 的值 input "请问要相加到多少个 5:" to n cadd="" b="" for i=1 to n cadd=cadd+"5" b=b+cadd endfor ?&b.

175. 下 列 数 字 被 称 为 " 回 文 数 " , 编 写 程 序 求 出 1000--10000 间 的 所 有 " 回 文 数 " 并 计 算 其 和.22,88,232,565,7887,5445,5555,1111 clear s=0 ?"1000 到 10000 之间的回文数有:" for i=1000 to 10000 m=alltrim(str(i)) zx="" dx="" for j=1 to 4 zx=zx+substr(m,j,1) dx=dx+substr(m,5-j,1) endfor if zx=dx ??m+space(3) s=s+i endif endfor ?"它们的和是:",s 176. 编程输出下面的图形 * *** ***** *** * clear for i=-7 to 7 for j=1 to abs(i) ??" " endfor for j=1 to 15- 2* abs(i) ??"* " endfor ? endfor

177. 编程输出下面的图形 store 0 to a,b do while.t. a=a+1 if int(a/3)=a/3 loop else if a>=10 exit else b=b+a endif endif enddo ?"A="+str(a,2)+space(6) ??"B="+str(b,10) store 0 to a,b 侧该程序运行后,屏幕输出结果是什么 178. 求方程 8x-5y=3,在|x|<=150, |y|<=200 内的整数解。 试 问这样的整数解中|x|*|y|的最大值是多少? 179. 编程输出下面的图形 for i=1 to 5 ? for j=1 to i ?? j endfor endfor 运行以上程序后,屏幕显示: 180. 编程输出下面的图形 x=10 y=-3 for n=29+x to x step y endfor ?n return 运行以上程序后,屏幕显示:

181.编程输出下面的图形 clear a=0 do while a<=3 b=0 do while b<=4 c=1 do while c<=9 y=100*a+10*b+c if y=2*a+b*2+c*5 ?y endif c=c+1 enddo b=b+1 enddo a=a+2 enddo 运行以上程序后,屏幕显示: 182. 编程输出下面的图形 clear i=0 do while i<5 if int(i/2)=i/2 ??''#'' endif ??''#'' i=i+1 enddo 运行以上程序后,屏幕显示: 183. 编程输出下面的图形 clear n=6 for i=1 to n ?replicate(" ",n-1) for j=1 to 2*i-1

??"*" endfor endfor return 运行以上程序后,屏幕显示: 184. 编程输出下面的图形 ****** ***** **** *** ** * for a=6 to 1 step-1 ?repl('*',a ) endfor 185. 请显示出 100 到 200 间以内的所有的奇数,每行显示 6 个数 for i = 101 to 199 step 2 if (i-101)%12 = 0 ? endif ?? i endfor 186. 编程输出下面的图形 7777777 666666 55555 4444 333 22 1 clear for i=7 to 1 step -1 ?space(7-i) for j=1 to i ??alltrim(str(i)) endfor

endfor 187. 求方程 3x-7y=1 在条件|x|<100 且|y|<40 下的所有整数解 的|x|+|y|的最小值 clear min=140 for x=-99 to 99 y=int((3*x-1)/7) z=abs(x+y) if 3*x-7*y=1 and abs(y)<40 and min<z min=z * ? x,y,z endif endfor ? min return 第二种方法: set talk off //关闭对话 clear //清屏 min = 999999; //写的大点,别写的太小了就行,vf 能处理 12 位呢! for x= -99 to 99 step 1 //循环结构开始 if (3*x-1)%7 = 0 //判断是否 y 有整解!没有的话当然不 再解了! y=(3*x-1)/7 if abs(y)<40 and min < abs(x)+abs(y) min = abs(x)+abs(y) ? x, y, abs(x)+abs(y) //想显示在这; endif endif endfor ?min set talk on return 这样清楚了吧? 当然中间的两个判断可以写在一块!

if (3*x-1)%7 = 0 .and. abs((3*x-1)/7)<40 .and. min < abs(x)+abs((3*x-1)/7) min = abs(x)+abs((3*x-1)/7) ? x, 3*x-1)/7, abs(x)+abs((3*x-1)/7) //想显示在这; endif 替掉那个判断的嵌套也可以! 188. 从 1 到 1000 能被 9 整除 且包含数字 6 的整数个数 s=0 for i=1 to 1000 if mod(i,9)==0 and likec("*9*",str(i)) s=s+1 endif endfor ?"个数",s 189. 编写程序,求一正整数等差数列的前 6 项的和,该数列 前四项之和是 26,四项之积是 880。 答案:57 第一种方法: clear for j= 1 to 10 for i= 1 to 10 if 4*j+6*i=26 and j*(j+i)*(j+2*i)*(j+3*i)=880 ?6*j+15*i endif endfor endfor 第二种方法: clear clear all dime a(6) f=1 d=0 do while .t. d=d+1 a(1)=f for i=2 to 4

a(i)=a(i-1)+d a(1)=a(1)+a(i) endfor if a(1)=26 a(1)=f for i=2 to 6 a(i)=a(i-1)+d a(1)=a(1)+a(i) next ??" 作对了哈!答案是:"+allt(str(a(1))) exit endif if a(1)>26 f=f+1 d=0 endif enddo 190. 编程输出下面的图形 9 18 27 36 45 54 63 72 81 8 16 24 32 40 48 56 64 7 14 21 28 35 42 49 6 12 18 24 30 36 5 10 15 20 25 4 8 12 16 369 24 1 191. 用循环编程方法输出下列图形 1 121 12321 1234321 123454321 12345654321

for i=1 to 6 ?space(7-i) for n=1 to i llt(str(n)) next for n=i-1 to 1 step -1 ??allt(str(n)) next endfor 192. 从键盘输入三个数,求最大值 input "请输入一个数:"to a input "请输入一个数:"to b input "请输入一个数:"to c max=a if max<b max=b endif if max<c max=c endif ?"最大的数是:",allt(str(max)) 193.多项式 s=1+2+22+23+…+232,请设计一个程序, s 的值 求 194.整钱找零(穷举法) *整钱找零:100=X1*10+X2*5+X3*1 *X1,X2,X3>=1,X1+X2+X3=20 for x1=1 to 10 for x2=1 to 20 x3=20-x1-x2 if 100=x1*10+x2*5+x3*1 and x3>0 ?x1,x2,x3 endif endfor endfor 195.矩阵的处理 生成矩阵: clear

dime a(5,5) for i=1 to 5 for j=1 to 5 do case case i<j a(i,j)=2 case i=j a(i,j)=1 otherwise a(i,j)=3 endcase endfor endfor for i=1 to 5 for j=1 to 5 ??a(i,j) endfor ? endfor 任意两个矩阵的乘法: clear input'请输入一个数 i:'to i input'请输入一个数 k:'to k input'请输入一个数 j:'to j dime a(i,k),b(k,j),c(i,j) for p=1 to i for q=1 to k input'请输入一个数:'to a(p,q) endfor endfor ?'第一个矩阵 a(i,k)为:' ? for p=1 to i for q=1 to k ??a(p,q) endfor ?

endfor for p=1 to k for q=1 to j input'请输入一个数:'to b(p,q) endfor endfor ?'第二个矩阵 b(k,j)为:' ? for p=1 to k for q=1 to j ??b(p,q) endfor ? endfor for p=1 to i for q=1 to j m=0 for h=1 to k m=m+a(p,h)*b(h,q) endfor c(p,q)=m endfor endfor ?'两个矩阵相乘之后 c(i,j)为:' ? for p=1 to i for q=1 to j ??c(p,q) endfor ? endfor 矩阵的乘法: clear dime a(2,3) for i=1 to 2 for j=1 to 3

do case case i<j a(i,j)=2 case i=j a(i,j)=1 otherwise a(i,j)=3 endcase endfor endfor ?'第一个矩阵为:' ? for i=1 to 2 for j=1 to 3 ??a(i,j) endfor ? endfor dime b(3,2) for i=1 to 3 for j=1 to 2 do case case i<j b(i,j)=1 case i=j b(i,j)=2 otherwise b(i,j)=3 endcase endfor endfor ?'第二个矩阵为:' ? for i=1 to 3 for j=1 to 2 ??b(i,j) endfor

? endfor ?'两个矩阵相乘后变为:' ? ??a(1,1)*b(1,1)+a(1,2)*b(2,1)+a(1,3)*b(3,1),a(1,1)*b(1,2)+a(1, 2)*b(2,2)+a(1,3)*b(3,2) ? ??a(2,1)*b(1,1)+a(2,2)*b(2,1)+a(2,3)*b(3,1),a(2,1)*b(1,2)+a(2, 2)*b(2,2)+a(2,3)*b(3,2) 矩阵的加法: clear dime a(2,3) for i=1 to 2 for j=1 to 3 do case case i<j a(i,j)=2 case i=j a(i,j)=1 otherwise a(i,j)=3 endcase endfor endfor ?'第一个矩阵为:' ? for i=1 to 2 for j=1 to 3 ??a(i,j) endfor ? endfor dime b(2,3) for i=1 to 2 for j=1 to 3 do case

case i<j b(i,j)=1 case i=j b(i,j)=2 otherwise b(i,j)=3 endcase endfor endfor ?'第二个矩阵为:' ? for i=1 to 2 for j=1 to 3 ??b(i,j) endfor ? endfor ?’两个矩阵相加之后变为:’ ? for i=1 to 2 for j=1 to 3 c= a(i,j)+b(i,j) ??c endfor ? endfor 矩阵的转置: clear dime a(2,3) for i=1 to 2 for j=1 to 3 do case case i<j a(i,j)=2 case i=j a(i,j)=1

otherwise a(i,j)=3 endcase endfor endfor ?'生成的矩阵为:' ? for i=1 to 2 for j=1 to 3 ??a(i,j) endfor ? endfor ?’转置矩阵为:’ ? for i=1 to 2 for j=1 to 3 ??a(j,i) endfor ? endfor 196.查找算法 第一种:顺序查找 clear dime a(10) for i=1 to 10 a(i)=int(rand()*100) ??a(i) endfor input '输入要查找的数:'to x for i=1 to 10 if a(i)=x ?'找到:',x,i return endif endfor ?'没有找到!'

第二种:折半查找(先排序后查找) clear dime a(10) n=10 for i=1 to 10 a(i)=int(rand()*100) ??a(i) endfor *排序 for k=1 to n-1 for j=k+1 to n if a(k)>a(j) t=a(k) a(k)=a(j) a(j)=t endif endfor ?a(k) endfor ?a(n) return *折半查找 input '请输入要查找的数:'to x l=1 h=10 do while l<=h m=int((1+h)/2) if a(m)=x exit else if a(m)>x h=m-1 else l=m+1 endif endif enddo

if l<=h ?'找到',m,a(m) else ?'没有找到!' endif 197.有序数列的插入 clear *定义数组 input'输入 n='to n dime a(10) *给数组赋值 for k=1 to n input'逐个输入数据'to a(k) endfor *排序开始 for k=1 to n-1 for j=k+1 to n if a(k)>a(j) t=a(k) a(k)=a(j) a(j)=t endif endfor ?a(k) endfor ?a(n) *插入数据 input '请输入要插入的数:'to x a(7)=x for i=n to 1 step -1 if a(i)>x a(i+1)=a(i) else exit endif endfor

a(i+1)=x ?"插入一个元素后:" for i=1 to n+1 ??a(i) endfor 198.有序数列的删除(指定位置上的数据) clear dime a(11) n=10 for i=1 to n a(i)=int(rand()*100) ??a(i) endfor for i=1 n-1 for j=n to i+1 step -1 if a(j)<a(j-1) t=a(j) a(j)=a(j-1) a(j-1)=t endif endfor endfor ?'sort:' for i=1 to n ??a(i) endfor *找出删除位置 input'输入要删除的位置数:'to x if x>10 or x<1 ?'输入位置有错!' return endif for i=x to 9 if a(i)>x a(i)=a(i+1) else exit

endif endfor ?'删除一个元素后:' for i=1 to n-1 ??a(i) endfor 199.最大公约数 input'输入 M:'to m input'输入 N:'to n if n=0 ?'数据有错!' exit endif r=mod(m,n) do while r>0 m=n n=r r=mod(m,n) enddo ?'最大公约数是:',n 200.最小公倍数 input'输入 M:'to m input'输入 N:'to n if n=0 ?'数据有错!' exit endif r=mod(m,n) do while r>0 m=n n=r r=mod(m,n) enddo ?'最大公约数是:',n ?'最小公倍数是:',a*b/n

201.梯形积分法 set talk off clear a=0 b=pi()/2 input'请输入近视公式中梯形的个数:'to n tjf=zxjf(a,b,n) &&调用子函数 zxjf ?'所求正弦函数定积分的近视值为:',tjf set talk on return *子函数 function zxjf(x,y,z) h=(y-x)/z s=0 for i=1 to z s=s+sin(a+i*h) &&每个点的函数值 endfor s=(sin(a)+2*s-sin(b))*h/2 &&计算梯形面积的公式是: (上底+下底)*h/2 return s 202. 有序数列的删除(数列中的任意一个数) clear *定义数组 input'请输入一个数'to n dime a(n) *给数组赋值 for k=1 to n input'请输入一个数'to a(k) endfor *排序开始 ?'删除数据前排序后的数列为:' for k=1 to n-1 for j=k+1 to n if a(k)>a(j) t=a(k) a(k)=a(j)

a(j)=t endif endfor ??a(k) endfor ??a(n) input'请输入要删除的一个数'to m for i=1 to n if a(i)=m for j=1 to n-1 a(j)=a(j+1) endfor endif endfor ?'删除一个数据后的数列为:' for i=1 to n-1 ??a(i) Endfor 203.级数,近视计算 cos(x)=1-x^2/2!+x^4/4!+x^6/6!+…….. clear input'请输入一个角度 m:'to m x=m*pi()/180 input'请输入一个数 n:'to n s=1 d=1 mul=1 for i=2 to n step 2 mul=mul*i*(i-1) d=-d s=s+d*(x^i)/mul endfor ?s 204.二分法求根 f(x)=x^3-2*x-5 为闭区间[a,b]上的连续函数, 且在开区间 (a,b) 内有唯一的实根,编程序求其近视值。 clear

input'请输入一个趋近于无穷大的数 n:'to n for i=1 to n input'请输入一个数 a:'to a input'请输入一个数 b:'to b m=a^3-2*a-5 n=b^3-2*b-5 d=m*n if d>0 ?messagebox('输入数据有误,0+64,请重新输入','出错') else for i=1 to n p=a^3-2*a-5 x=(a+b)/2 q=x^3-2*x-5 if p*q>0 a=x else b=x endif if q=0 exit endif endfor ?'所求之近视根为 x:',x exit endif endfor


更多相关文档:

VF程序设计编程题答案

VF程序设计编程题答案。HIA第六章 程序设计编程题 1. 求园的面积(要求判断半径...第一章至第八章VF数据库... 17页 免费 VF程序设计编程题答案 8页 2下载券...

VFP程序设计题汇总

8. 在程序所在的目录中已有学生表(学生.Dbf) (字段为:学号,姓名,性别,出生...VFP程序设计习题 5页 免费 喜欢此文档的还喜欢 vfp典型程序设计题(附参......

VF程序设计复习题

VF 程序设计复习题 2008-03-27 10:58:52| 分类: 默认分类 阅读 355 评论 0 字号:大中小 订阅 一、单项选择题(每题 2 分,共 70 分) 1、数据库(DB)...

VB程序设计试题库

VB程序设计试题库_工学_高等教育_教育专区。VB 程序设计试题库《VB 程序设计》试卷二 ___ 2 程序设计》 ___VB 程序设计试题库《VB 程序设计》试卷二 ___ ...

VB程序设计题库(全)

VB程序设计题库(全)_资格考试/认证_教育专区。VB程序设计题库 程序设计 第一题、 题目: (事件)单击窗体 (响应)求 50 以内所有偶数的和,并在窗体上输出来。...

VB程序设计题库(全)

VB程序设计题库(全)_其它课程_初中教育_教育专区。VB 程序设计练习题 第一题、 题目: (事件)单击窗体 (响应)求 50 以内所有偶数的和,并在窗体上输出来。 ...

vb题库程序设计题讲解

vb题库程序设计题讲解_IT认证_资格考试/认证_教育专区。题目:(事件)单击窗体 ' (响应)用输入框输入一自然数,判断是"正数"、"负数" 或"零",并根据输入的数...

VB程序设计练习题附加答案

VB 程序设计》综合复习资料第一章 Visual Basic 程序设计概述一、填空题 1 ...12、设某列表框共有 10 项,按题目要求补齐程序,完成相应的功能。 (1)按下...

VB程序设计题库1

VB程序设计题库1_IT认证_资格考试/认证_教育专区。9、Visual Basic 程序改错 ...程序功能:求当 N=20 时, 1/(1*2)+1/(2*3)+1/(3*4)+?.+1/(N*...

《数据库及VF程序设计》练习

《数据库及VF程序设计》练习_高等教育_教育专区。《数据库及VF程序设计》练习《数据库及 VF 程序设计》练习题一、单选题: 1、如要物理删除某已打开的表文件的第...
更多相关标签:
vf程序设计 | vf数据库程序设计 | vf程序设计教程答案 | vf程序设计教程 | vf语言程序设计 | vf程序设计实例 | vf程序设计步骤 | vf二级程序设计真题 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com