程序题 题目 程序 答序功能:求s=1+3+5+7+...直到s>2000为止。程序中两行有错误。改正错误,使它能输出正确的结果。 序功能:求s=1+3+5+7+...直到s>3000为止。程序中两行有错误。改正错误,使它能输出正确的结果。 序功能:计算s=2!+4!+8!。程序中有两行有错误。改错误,使它能输出正确的结果。 序功能:计算s=2!+4!+6!+8!。程序中有两行有错误。正错误,使它能输出正确的结果。 序功能:求200到400间,能被3整除但不能被7整除数的个数。程序中有两行有错误。改正错误,使它能输正确的结果。 序功能:求200到500间,能被13整除但不能被17整的数的个数。程序中有两行有错误。改正错误,使它能出正确的结果。 序功能:求1到400间,同时能被3和7整除的数的个。程序中有两行有错误。改正错误,使它能输出正确的果。 序功能:求1到500间,同时能被5和9整除的数的个。程序中有两行有错误。改正错误,使它能输出正确的果。 序功能:求能被3整除且至少有一位数字为5的三位数个数。程序中有两行有错误。改正错误,使它能输出正的结果。 Private Sub Command1_Click() Dim i As Integer, 2025 s As Long s = 0 i = 1 Do Until s < 2000 s = s + i i = i + 1 Loop Print s End Sub Private Sub Command1_Click() Dim i As Integer, 3025 s As Long s = 0 i = 1 Do Until s < 3000 s = s + i i = i + 1 Loop Print s End Sub Private Sub Command1_Click() Dim k As Integer, 40346i As Integer Dim s As Long, t As Long s = 0 i = 1 Do While i <= 3 t = 1 k = 1 While k <= 2 * i t = t * k k = k + 1 Wend s = s + t i = i + 1 Wend Print s End Sub Private Sub Command1_Click() Dim k As Integer, 41066i As Integer Dim s As Long, t As Long s = 0 i = 1 Do While i <= 3 t = 1 k = 1 While k <= 2 ^i t = t * k k = k + 1 Wend s = s + t i = i + 1 Wend Print s End Sub Private Sub Command1_Click() Dim count As 57 Integer Dim x As Integer count = 0 x = 200 While x <= 400 If x Mod 3 = 0 Or x Mod 7 <> 0 Then count = count + 1 End If x = x + 1 Loop Print count End Sub Private Sub Command1_Click() Dim count As 21 Integer Dim x As Integer count = 0 x = 200 While x <= 500 If x Mod 13 = 0 Or x Mod 17 <> 0 Then count = count + 1 End If x = x + 1 Loop Print count End Sub Private Sub Form_Click() Dim count As Integer 19 Dim x As Integer For x = 1 To 400 if mod(x,3)=0 and mod(x,7)=0 then count = count + 1 end if Next count print count End Sub Private Sub Command1_Click() Dim count As 11 Integer Dim x As Integer For x = 1 To 500 if mod(x,5)=0 and mod(x,9)=0 then count = count + 1 end if Next count print count End Sub Private Sub Command1_Click() Dim count As 85 Integer Dim a As Integer, b As Integer, c As Integer Dim x As Integer x = 100 Do While x <= 999 If x Mod 3 = 0 Then a = Int(x / 100) b = Int((x - a * 100) / 10) c = x - a * 100 - b * 序功能:求能被7整除且至少有一位数字为9的三位数个数。程序中有两行有错误。改正错误,使它能输出正的结果。 序功能:求三位偶数中,个位数字与十位数字之和除以所得的余数是百位数字的数的个数。程序中有两行有误。改正错误,使它能输出正确的结果。 序功能:求三位奇数中,个位数字与十位数字之和除以所得的余数是百位数字的数的个数。程序中有两行有误。改正错误,使它能输出正确的结果。 序功能:求平方和小于2000的最大自然数。程序中有行有错误。改正错误,使它能输出正确的结果。 序功能:求1~100中, 两个不同的数之和能被3或7除的“数对”的对数 (注意:3+5和5+3认为是同一数对”) ? 程序中有两行有错误。改正错误,使它能出正确的结果。 序功能:解百马百瓦古题。大、小马和马驹共100匹,驮100片瓦。大马一驮三,小马一驮二,马驹二驮一,次驮完,三种马都驮,共有多少种组合? 程序中有三行错误。改正错误,使它能输出正确的结果。 序功能:解百马百瓦古题。大、小马和马驹共100匹,驮100片瓦。大马一驮三,小马一驮二,马驹二驮一,次驮完,三种马都驮,共有多少种组合? 程序中有一行错误。改正错误,使它能输出正确的结果。 10 If a = 5 And b = 5 And c = 5 Then count = count + 1 End If End If x = x + 1 Wend Print count End Sub Private Sub Command1_Click() Dim count As 36 Integer Dim a As Integer, b As Integer, c As Integer Dim x As Integer x = 100 Do While x <= 999 If x Mod 7 <> 0 Then a = Int(x / 100) b = Int((x - a * 100) / 10) c = x - a * 100 - b * 10 If a = 9 and b = 9 And c = 9 Then count = count + 1 End If End If x = x + 1 Loop Print count End Sub Private Sub Command1_Click() Dim count As 45 Integer Dim a As Integer, b As Integer, c As Integer Dim x As Integer count = 0 x = 100 While x <= 999 a = Int(x / 100) b = Int(x / 10) - a * 10 c = x - a * 100 - b * 10 if mod(x,2)=0 OR mod(b+c,10)=a then count = count + 1 End If x = x + 1 Loop Print count End Sub Private Sub Command1_Click() Dim count As 45 Integer Dim a As Integer, b As Integer, c As Integer Dim x As Integer count = 0 x = 100 While x <= 999 a = Int(x / 100) b = Int(x / 10) - a * 10 c = x - a * 100 - b * 10 if x mod 2=0 Or b+c mod 10=a then count = count + 1 End If x = x + 1 Loop Print count End Sub Private Sub Form_Click() Dim x As Integer Dim s 18 As Integer s = 0 x = 0 Do While s >= 2000 x = x + 2 s = s + x * x loop Print x End Sub Private Sub Form_Click() Dim n As Integer, i As 2121 Integer n = 0 i = 1 Do While i <= 100 J = 1 Do While J <= 100 IF MOD(I+J,3)<>0 OR MOD(I+J,7)=0 then n = n + 1 End If J = J + 1 Loop i = i - 1 Loop Print n/2 End Sub Private Sub Form_Click() Dim x As Integer, y As 6 Integer, z As Integer Dim s As Integer s = 0 For x = 1 To 33 For y = 1 To 50 z = 100 - x - y If 3 * x + 2 * y + z / 2 <> 100 Then s = s + 1 End If Next x Next y Print s End Sub Private Sub Form_Click() s = 0 dm = 1 Do While 6 dm <= 100 / 3 xm = 1 Do While xm <= 100 / 2 - dm mj = 100 - dm - xm If dm + xm + mj = 100 Then s = s + 1 End If xm = xm + 1 Loop dm = dm + 1 Loop Print s End Sub 序功能:求100-200之间的所有素数个数,程序中有两Private Sub Command1_Click() Number = 0 For x = 21 有错误。改正错误,使它能输出正确的结果。 101 To 199 Step 2 i = 2 k = Int(x / 2) Do While i <= k If x Mod i = 0 Then Exit For i = i + 1 Loop If i < k Then Number = Number + 1 End If Next x Print Number End Sub 序功能:sum=d+dd+ddd+„„+ddd..d(d为1-9的数Private Sub Form_Click() Dim d As Integer, n As 86419。例如:3+33+333+3333(此时d=3,n=4)。从键盘上Integer, i As Integer Dim sum As Long sum = 0 d 入d 的值为8,n的值为9,求sum的值。程序中有两= Val(InputBox(\"请输入数值d:\")) n = 有错误。改正错误,使它能输出正确的结果。 Val(InputBox(\"请输入数值n:\")) For i = 1 To n tn = tn + d sum = sun + tn Next i Print sum End Sub 序功能:输出水仙花的个数(所谓水仙花数是指一个三Private Sub Form_Click() Dim number As Integer 4 十进制数,该数的各位数字立方之和等于该数本身。例Dim n As Integer, i As Integer, j As Integer, k 53是一个水仙花数,因为1^3+5^3+3^3=153)程序中As Integer For n = 100 To 999 i = n / 100 ‘百两行有错误。改正错误,使它能输出正确的结果。 位 j = Int(n / 10) - i * 10 ‘十位 k = n Mod 10 ion Explicit ‘个位 If (n = i * i * i + j * j * j + k * k * k) Then number = numbre + 1 End If Next n Print number End Sub 序功能:求数列2/1,3/2,5/3,8/5,13/8,„„的Private Sub Form_Click() Dim i As Integer, t As 16.470项之和。程序中有两行有错误。改正错误,使它能Integer, n As Integer Dim a As Integer, b As 出正确的结果。 Integer Dim s As Single a = 2: b = 1: n = 10:s=0 For i = 1 To n s = s + a / b t = b a = a + b a = t Next i Print s End Sub 序功能:猴子第1天摘下若干桃子,当即吃掉一半,又Private Sub Form_Click() Dim day As Integer, 1534 吃一个,第二天将剩余的部分吃掉一半还多一个;以此sum As Integer day = 10; sum = 1 Do While 推,到第10天只剩余1个。问第1天共摘了多少桃day >1 sum = sum * 2 day = day - 1 Loop Print 。程序中有两行有错误。改正错误,使它能输出正确的sum End Sub 果。 序功能:一个两位数的正整数,如果将其个位数与十位Private Sub Form_Click() Dim x As Integer, y As 8 字对调所生成的数称为其对调数,如28是82的对调Integer,number as Integer Dim xf As Integer, yf 。现给定一个两位的正整数46,请找到另一个两位的As Integer Number = 0 x = 46 xf = (x Mod 10) * 数,使这两个数之和等于它们的各自的对调数之和。这10 + Int(y / 10) For y = 10 To 99 yf = y Mod 10 的另一个两位数有多少个。程序中有两行有错误。改正+ Int(y / 10) If x + y = xf + yf Then Number = 误,使它能输出正确的结果。 Number + 1 End If Next y Print Number End Sub 序功能:求1~200之间的能被7整除的数的平方和。Private Sub Command1_Click() Dim x As Integer 37798序有两处错误。改正错误,使它能输出正确的结果。 Dim sum As integer x = 1 sum = 0 While x <= 200 If x Mod 7 = 0 sum = sum + x ^ 2 End If x = x + 1 Wend Print sum End Sub 序功能:求1~99的平方根的和并输出结果。(保留小Private Sub Command1_Click() Dim x As Integer 661.4点两位),程序中有两行有错误。改正错误,使它能输Dim sum As Integer x = 1 Do While x <= 99 sum = 正确的结果。 sum + Sqrt(x) x = x + 1 Loop Print Round(sum, 2) End Sub 序功能:求1~55的平方根的和并输出结果。(保留小Private Sub Command1_Click() Dim x As Integer 275.4点两位)程序中有两行有错误。改正错误,使它能输出Dim sum As Integer x = 1 Do While x <= 55 sum = 确的结果。 sum + Sqrt(x) x = x + 1 Loop Print Round(sum, 2) End Sub 序功能:统计1~1000中能被3整除的数的个数。程序Private Sub Command1_Click() Dim count As 333 有两行有错误。改正错误,使它能输出正确的结果。 Integer Dim i As Integer i = 3 count = 0 Do While I>= 1000 If x mod 3 = 0 Then count = count + 1 End If i = i + 1 Loop Print count End Sub 序功能:输出1~100中所有整数的平方和。程序中有错Private Sub Command1_Click() Dim x As Integer 32835。改正错误,使它能输出正确的结果。 Dim sum As Integer x = 1 sum = 0 Do Until x < 100 sum = sum + x ^ 2 x = x + 1 Loop Print sum End Sub 序功能:求[1,5000]内能被5整除的前若干个偶数之Private Sub Command1_Click() Dim x As Integer 50500,直到和大于50000为止。程序中有两行有错误。改正Dim s As Long x = 2 Do While x <= 5000 If x Mod 误,使它能输出正确的结果。 5=0 Then s = s + x If s > 50000 Then Exit for End If End If x = x +1 Loop Print s End Sub 序功能:求3000以内能被17或23整除的正整数的个Private Sub Command1_Click() Dim x As Integer 299 。程序中有两行有错误。改正错误,使它能输出正确的Dim count As Integer For x = 1 To 3000 step -1 果。 If x Mod 17 = 0 and x Mod 23 = 0 Then count = count + 1 End If Next x Print count End Sub 序功能:已知一个数列的前3项为0,0,1,以后每项Private Sub Command1_Click() Dim a As Long Dim 33474前3项的和,求此数列的第36项。程序中有两行有错b As Long Dim c As Long Dim d As Long Dim i As 。改正错误,使它能输出正确的结果。 Integer a = 0: b = 0: c = 1 For i = 1 To 36 d=a a=b b=c c=a+b+c Next i Print c End Sub 序功能:求数列2,4,8,16,32,„前若干项之和。当和Private Sub Command1_Click() Dim s As Integer 16382于9000时,终止求和并输出结果。程序中有两行有错Dim x As Integer x = 1 Do x = x + 2 s = s + x 。改正错误,使它能输出正确的结果。 Until s > 9000 Print s End Sub 序功能:求[351,432]之间既不能被3整除,也不能被8Private Sub Command1_Click() Dim c As Integer 661 除的正整数的个数。程序中有两行有错误。改正错误,Dim x As Integer For x = 351 To 432 If x Mod 3 它能输出正确的结果。 <> 0 or x Mod 8 <> 0 Then c = c + 1 End If Next c Print c End Sub 试题要求: 源程序文件名: 试题答案: 47 考试语种: 试卷编号: 1034 第35小题: 程序功能:求[444,666]中最大的素数。程序中有两行有错误。改正错误,使它能输出正确的结果。 Private Sub Command1_Click() Dim x As Integer Dim i As Integer For x = 666 To 444 k = Int(Sqr(x)) For i = 2 To k If x Mod i = 0 Then Exit Do End If Next i If i > k Then Print x Exit For End If Next x End Sub 序功能:已知24有8个正整数因子(即:Private Sub Command1_Click() Dim n1 As Integer, 19 ,3,4,6,8,12,24),而24正好被其因子个数8整除。n2 As Integer Dim x As Integer Dim i As Integer 100,300]之间有多少个这样的数。程序中有两行有错n2 = 0 For x = 100 To 300 n2 = 0 For i = 1 To 。改正错误,使它能输出正确的结果。 100 If x Mod i = 0 Then n1 = n1 + 1 End If Next 序功能:若某整数N的所有因子之和等于N的倍数,则为多因子完备数,如数28,其因子之和+4+7+14+28=56=2*28,28是多因子完备数。求[1,200]间有多少个多因子完备数。改正错误,使它能输出正确结果。 序功能:我国今年的国民生产总值为45600亿元,若今每年以9%的增长率增长,计算多少年后能实现国民生产值翻一番?程序中有两行有错误。改正错误,使它能输正确的结果。 序功能:已知24有8个正整数因子:1,2,3,4,6,8,12,24),而24正好被其因子个数8整。求[100,300]之间能被其因子数目整除的数中最大的。程序中有两行有错误。改正错误,使它能输出正确的果。 序功能:有一个三位数满足下列条件: (1)三位数字各相同; (2)此数等于它的各位数字的立方和。求这种三数的个数。程序中有两行有错误。改正错误,使它能输正确的结果。 序功能:求1~130之间所有整数的立方和并输出结果。序中有两行有错误。改正错误,使它能输出正确的结。 序功能:求1~210之间所有整数的立方和并输出结果。序中有两行有错误。改正错误,使它能输出正确的结。 序功能:计算1000以内,既能被6整除又能被8整除数的个数。程序中有两行有错误。改正错误,使它能输正确的结果。 序功能:求1~60之间的所有整数的平方和。程序中有行有错误。改正错误,使它能输出正确的结果。 序功能:求[3,500]内所有素数之和。程序中有一行错,改正错误,使它能输出正确的结果。 序功能:求[3-1000]之间最大的五个素数之和。程序中i If x Mod n1 = 0 Then n2 = n2 + 1 End If Next x Print n2 End Sub Private Sub Command1_Click() Dim N As Integer 4 Dim s As Integer Dim i As Integer Dim c As Integer c = 0 For N = 1 To 200 s = 0 For i = 1 To N If N Mod i <> 0 Then s = s + i End If Next i If N Mod s = 0 Then c = c + 1 End If Next N Print c End Sub Private Sub Command1_Click() Dim p As Long, p1 9 As Long Dim n As Integer n = 0 p1 = 45600 p = p1 Do p = p * (1 +9) n = n + 1 Loop Until p < 2 * p1 Print n End Sub Private Sub Command1_Click() Dim N As Integer 296 Dim s As Integer Dim i As Integer For N = 300 To 100 s = 0 For i = 1 To N If N Mod i = 0 Then s = s + 1 End If Next i If s Mod N = 0 Then Print N Exit For End If Next N End Sub Private Sub Command1_Click() Dim x As Integer 4 Dim a As Integer Dim b As Integer Dim c As Integer Dim n As Integer n = 0 x = 100 Do While x>= 999 a = Int(x / 100) b = Int(x / 10) - a * 10 c = x - a * 100 - b * 10 If a <> c Or b <> c Or a <> b Or x = a ^ 3 + b ^ 3 + c ^ 3 Then n = n + 1 End If x = x + 1 Loop Print n End Sub Private Sub Command1_Click() Dim s As Integer 72505Dim x As Integer x = 1 s = 0 Do While x > 130 s = s + x ^ 3 x = x + 1 Loop Print s End Sub Private Sub Command1_Click() Dim s As Integer 49084Dim x As Integer x = 1 s = 0 Do s = s + x ^ 3 x = x + 1 While x <= 210 Print s End Sub Private Sub Command1_Click() Dim n As Integer 41 Dim x As Integer x = 1 n = 0 Do While x <= 1000 If x Mod 6 = 0 Or x Mod 8 = 0 Then n = n + 1 End case x = x + 1 Loop Print n End Sub Private Sub Command1_Click() Dim s As integer 73810Dim x As Integer s = 0 For x = 1 To 60 s = s + x ^ 2 Next s Print s End Sub Private Sub Command1_Click() sum = 0 For x = 3 21534To 500 flag = True For i = 2 To x - 1 If x Mod i = 0 Then flag = False Exit For End If Next i If not flag Then sum = sum + x End If Next x Print sum End Sub Private Sub Command1_Click() n = 0 sum = 0 x = 4919 两行有错误。改正错误,使它能输出正确的结果。 序功能:求[100,200]间有奇数个不同因子的整数的个。程序中有两行有错误,改正错误,使它能输出正确的果。 序功能:把一张一元钞票,换成一分、二分和五分硬币,种至少8枚,求方案数。程序中有两行有错误。改正错,使它能输出正确的结果。 序功能:求区间[500,2500]中按递增顺序的第25个素。程序中有两行有错误。改正错误,使它能输出正确的果。 序功能:将50元兑换成5元、2元和1元的方法的种(每种面额不能为0)。程序中有两行有错误。改正错,使它能输出正确的结果。 序功能:设某四位数的千位数字与十位数字的和等于百数字与个位数字的积,例如,对于四位数:9512,=5*2,求所有这样的四位数之和。程序中有一行有错。改正错误,使它能输出正确的结果。 序功能:求 [10,1000]之间的所有完数之和。各真因之和(不包括自身)等于其本身的正整数称为完数。例:6=1+2+3,6是完数。程序中有一行有错误。改正错,使它能输出正确的结果。 序功能:求 [200,300]之间的有奇数个不同因子的最大数。程序中有两行有错误。改正错误,使它能输出正确结果。 序功能:求[3333,6666]之间所有能被5和7整除的数个数。程序中有两行有错误。改正错误,使它能输出正的结果。 序功能:设某四位数的各位数字的平方和为100,且该能被3整除。求这样的数的个数。 程序中有两行有错。改正错误,使它能输出正确的结果。 1000 Do flag = True For i = 2 To x - 1 If x Mod i = 0 Then flag = False Exit Do End If Next i If flag Then sum = sum + x n = n + 1 If n = 5 Then Exit Do End If x = x - 1 Loop While x<= 3 Print sum End Sub Private Sub Command1_Click() n1 = 0 For x = 100 5 To 200 n2 = 0 For i = 1 To 100 If x Mod i = 0 Then n2 = n2 + 1 End If Next i If n2 Mod 2 = 0 Then n1 = n1 + 1 End If Next x Print n1 End Sub Private Sub Command1_Click() n = 0 For x = 1 To 80 100 For y = 8 To 50 For z = 8 To 20 If x + y + z = 100 Then n = n + 1 Next z Next y Next x Print n End Sub Private Sub Command1_Click() n = 0 For x = 500 659 To 2500 flag = False For i = 2 To x-1 If x Mod i = 0 Then flag = True Exit For End If Next i If flag Then n = n + 1 If n = 25 Then Exit For End If Next x Print x End Sub Private Sub Command1_Click() For x = 1 To 10 106 For y = 1 To 25 For z = 1 To 50 If x+ y + z = 50 Then n = n + 1 Exit for End If Next z Next y Next x Print n End Sub Private Sub Command1_Click() sum = 0 For x = 107821000 To 9999 a = Int(x / 1000) b = Int(x / 100) - a * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a + c = b * d Then sum = sum + x End If Next x Print sum End Sub Private Sub Command1_Click() Sum = 0 For x = 10 524 To 1000 k = x For i = 1 To x - 1 If x Mod i = 0 Then x = x - i End If Next i If k = 0 Then Sum = Sum + x End If Next x Print Sum End Sub Private Sub Command1_Click() For x = 300 To 200 289 n = 0 For i = 1 To x If x Mod i = 0 Then n = n + 1 End If Next i If n / 2 <> 0 Then Print x Exit For End If Next x End Sub Private Sub Command1_Click() n = 0 x = 3333 95 While x <= 6666 If x Mod 5 = 0 Or x Mod 7 = 0 Then n = n + 1 End If x = x + 1 Loop Print n End Sub Private Sub Command1_Click() n = 0 For x = 1000 24 To 9999 a = Int(x / 1000) b = Int(x / 100) - a * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = 100 And Mod(x,3) = 0 Then n = n + 1 End If Next x Print n End Sub 序功能:若一个四位正整数是另一个正整数的平方,且Private Sub Command1_Click() For x = 1000 To 1521 位数字的和是一个平方数,则称该四位正整数是“四位9999 a = Int(x / 1000) b = Int(x / 100) - a * 平方数”。例如: 由于7396=86^2,且10 c = Int(x / 10) - a * 100 - b * 10 d = x - a +9+6=25=5^2,则称7396是“四位双平方数”。求最* 1000 - b * 100 - c * 10 If Sqr(x) = 的 “四位双平方数”。程序中有行一有错误。改正错Int(Sqr(x)) And Sqr(a + b + c + d) = Sqr(a + b ,使它能输出正确的结果。 + c + d) Then Print x Exit For End If Next x End Sub 序功能:计算y=1+2/3+3/5+4/7+„+n/(2*n-1)(n=50), Private Sub Command1_Click() Dim s As Single 26.47求:按四舍五入的方式精确到小数点后第二位。程序中Dim n As Integer s = 0 For n = 1 To 50 s = s + 两行有错误。改正错误,使它能输出正确的结果。 n / 2 * n – 1 Next n Print round(s) End Sub 序功能:求当N=20时,Private Sub Command1_Click() s = 0 n = 1 Do 0.95 1*2)+1/(2*3)+1/(3*4)+„.+1/(N*(N+1))的值。要While n <= 20 s = s + 1 / n * (n + 1) n = n + 1 :按四舍五入的方式精确到小数点后第二位。程序中有Loop Print format(s,”##0.##”) End Sub 行有错误。改正错误,使它能输出正确的结果。 序功能:回文数是指正读和反读都一样的正整数。例如Private Sub Command1_Click() n = 0 For x = 1000 50 3是回文数。求[1000,9999]之间的奇数回文数的个To 9999 a = 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 If a = b Or d = c And x Mod 2 <> 0 Then n = n + 1 End If Next x Print n End Sub 序功能:求m=50时,表达式t=1-1/(2*2)-1/(3*3)-Private Sub Command1_Click() Dim t As Single 0.3741/(m*m)的值。要求:按四舍五入的方式精确到小数点Dim m As Integer m = 2 t = 1 Do While m <= 50 t 第四位。程序中有两行有错误。改正错误,使它能输出= t - 1 /m * m m = m + 1 Wend Print Format(t, 确的结果。 \"0.####\") End Sub 序功能:求[10,1000]之间满足除以7余5、除以5余Private Sub Command1_Click() Dim x As Integer 9 除以3余1的所有整数的个数。程序中有两行有错Dim n As Integer n = 0 For x = 10 To 1000 If x 。改正错误,使它能输出正确的结果。 Mod 7 = 5 Or x Mod 5 = 3 Or x Mod 3 = 1 Then n = n + 1 End If Loop Print n End Sub 序功能:求3000以内能被17或23整除的正整数的个Private Sub Command1_Click() Dim x As Integer 299 。程序中有两行错误。改正错误,使它能输出正确的结Dim n As Integer n = 0 x = 1 Do While x <= 3000 。 If x Mod 17 = 0 And x Mod 23 = 0 Then n = n + 1 End If x = x + 1 wend Print n End Sub 序功能:求1到5000之间的能被5整除的前若干个偶Private Sub Command1_Click() n = 0 s = 0 For x 550 之和,直到和大于500为止。程序中有两行错误。改正= 2 To 5000 If mod(x,5) = 0 Then s = s + x End 误,使它能输出正确的结果。 If If s > 500 Then Exit For Next x Print s End Sub 序功能:求1到5000之间的能被5整除的前若干个奇Private Sub Command1_Click() n = 0 s = 0 For x 605 之和,直到和大于600为止。程序中有两行错误。改正= 1 To 5000 If x Mod 5 = 0 Then s = s + x End 误,使它能输出正确的结果。 If If s <= 600 Then Exit For Next x Print s End Sub 序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几买法(要求每种鸡至少要买1只)。程序中有一行有错。改正错误,使它能输出正确的结果。 Private Sub Command1_Click() s = 0 cock = 1 Do 3 While cock <= 100 / 5 hen = 1 Do While hen <= 100 / 3 - cock chick = 100 - cock - hen If cock + hen + chick = 100 Then s = s + 1 End If hen = hen + 1 Loop cock = cock + 1 Loop Print s End Sub 序功能:求500以内最大的10个能被13或17整除的Private Sub Command1_Click() s = 0: n = 0 x = 4622 然数之和。程序中有两行有错误。改正错误,使它能输500 Do While x >= 1 If x Mod 13 = 0 and x Mod 正确的结果。 17 = 0 Then s = s + x n = n + 1 End If If n = 10 Then Exit Do x = x +1 Loop Print s End Sub 序功能:求10的阶乘,程序中有一行有错误。改正错Private Sub Command1_Click() Print fun(10) End 36288,使它能输出正确的结果。 Sub Private Function fun(n As Integer) As Long If n>0 Then fun = 1 Else fun = n * fun(n - 1) End If End Function 序功能:求S=1+1/2+1/3+„„+1/100,程序中有两行Private Sub Command1_Click() sum1 = sumd(100) 5.187误。改正错误,使它能输出正确的结果。 Print sum1 End Sub Private Function sumd(n As Integer) As Single i=0 Do i = i + 1 s = s + 1 / i Loop Until i < n sumf = s End Function 序功能:求整数2310的所有质因子(即所有为素数的Private Sub Command1_Click() s = 0 k = 2310 For 28 子)之和。程序的Isprime()函数中有一行有错误。改j = 2 To k If (k Mod j = 0 And Isprime(j)) Then 错误,使它能输出正确的结果。 s = s + j End If Next j Print s End Sub Private Function Isprime(n ) Dim flag As Boolean flag = True If n = 2 Then Isprime = True Else For i = 2 To n - 1 If n Mod i = 0 Then flag = False Exit For End If Next i Isprime = True End If End Function 序功能:求共有几组i、j、k符合算式Private Sub Command1_Click() n = 0 For i = 0 To 6 +kji=1333,其中i、j、k是0~9之间的一位整数。程9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 中有一行有错误。改正错误,使它能输出正确的结果。 1333 Then n = n + 1 End If Next k Next j Next i Print n End Sub 序功能:求共有几组i、j、k符合算式Private Sub Command1_Click() n = 0 For i = 0 To 5 +kji=1534,其中i、j、k是0~9之间的一位整数。程9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 中有一行有错误。改正错误,使它能输出正确的结果。 1534 Then n = n + 1 End If Next k Next j Next i Print n End Sub 序功能:求所有符合算式ij*ji=1300的最小数ij。其Private Sub Command1_Click() For i = 1 To 9 For 25 、j是1~9之间的一位整数。 程序中有三行错误。改j = 1 To 9 If ij*ji = 1300 Then Print 10 * i + 错误,使它能输出正确的结果。 j Exit sub End If Next i Next j End Sub 序功能:求所有符合算式ij*ji=1300的最大数ij。其Private Sub Command1_Click() For i = 9 To 1 For 52 、j是1~9之间的一位整数。程序中有三行错误。改j = 9 To 1 If ij*ji = 1300 Then Print 10 * i + 错误,使它能输出正确的结果。 j Exit sub End If Next j Next i End Sub 序功能:求四位奇数中,所有各位数字之和是25的倍Private Sub Command1_Click() s2 = 0 For x = 12985的数之和。程序中有两行有错误。改正错误,使它能输1000 To 9999 Step 2 s1 = 0 a = Int(x / 1000) b 正确的结果。 = Int(x / 100) - a * 10 c = Int(x / 10) - a * 序功能:求四位奇数中,所有各位数字之和是36的倍的数之和。程序中有两行有错误。改正错误,使它能输正确的结果。 序功能:根据整型参数m的值,计算公式t=1-2*2)-1/(3*3)-„-1/(m*m)的值(m=100)。程序的函数()中有一行有错误。改正错误,使它能输出正确的结。 序功能:根据整型参数m的值,计算公式t=1-2*2)-1/(3*3)-„-1/(m*m)的值(m=123)。程序的函数()中有一行有错误。改正错误,使它能输出正确的结。 序功能:根据整型参数m,计算1-123的平方根的倒数和。程序的函数fun()中有一行有错误,改正错误,使能输出正确的结果。 序功能:用公式pi/4=1-1/3+1/5-1/7+„求pi(pi为圆率) 的近似值,直到最后一项的绝对值小于指定的数参数num)为止。程序的fun()函数中有一行有错误。正错误,使它能输出正确的结果。 序功能:根据以下公式2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9+„i(pi为圆周率)的值。当最后一项的值小于0.0005时止计算。程序的fun()函数中有一行有错误,改正错,使它能输出正确的结果。 序功能:计算两个数的最小公倍数。程序中有两行有错,改正错误,使程序能输出正确结果。 序功能:计算两个数的最小公倍数。程序中有两行有错,改正错误,使程序能输出正确结果。 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 s1 = a + b + c + d If mod(s1,25)=0 Then s2 = s2 + x End If Next x Print s2 End Sub Private Sub Command1_Click() s2 = 0 For x = 9999 1000 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If mod(s1,36)=0 Then s2 = s2 + x End If Next x Print s2 End Sub Private Sub Command1_Click() Print 0.365Format(fun(100), \"0.######\") End Sub Private Function fun(n As Integer) As Integer Dim t As Single Dim i As Integer i = 2: t = 1 Do While i < =n t = t - 1 / (i * i) i = i + 1 Loop fun = t End Function Private Sub Command1_Click() Print 0.363Format(fun(123), \"0.######\") End Sub Private Function fun(n As Integer) As Integer Dim t As Single Dim i As Integer i = 2: t = 1 Do While i < =n t = t - 1 / (i * i) i = i + 1 Loop fun = t End Function Private Sub Command1_Click() Print 20.76Format(fun(123), \"#.######\") End Sub Private Function fun(m As Integer) As single y = 0 For i = 1 To m t = 1 / Sqr(i) y = y + t Next i fun =t End Function Private Sub Command1_Click() Print 3.141Format(fun(0.0001), \"#.####\") End Sub Private Function fun(num As Single) As Single pi = 1: t = 1: s = 1: n = 1 Do s = -s n = n + 2 t = s * 1 / n pi = pi + t Loop Until t < num pi = pi * 4 fun = pi End Function Private Sub Command1_Click() Print fun(0.0005) 3.140End Sub Private Function fun(eps As Single) As Single s = 0: t = 1 :n = 1 While (t > eps) s = s + t t = t * n / (2 * n + 1) n = n + 1 Wend fun = s End Function Private Sub Command1_Click() Print fun(248, 26288848) End Sub Private Function fun(u, v) t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + u Loop fun = u End Function Private Sub Command1_Click() Print fun(482, 59768248) End Sub Private Function fun(u, v) t = u 序功能:计算两个数的最小公倍数。程序中有两行有错,改正错误,使程序能输出正确结果。 序功能:计算两个数的最小公倍数。程序中有两行有错,改正错误,使程序能输出正确结果。 序功能:求1900年~2003年所有闰年年号之和。程序有一行有错误。改正错误,使程序能输出正确的结果。年号能被400整除的是闰年,或者被4整除但不能被整除的是闰年) 序功能:计算两个数的最大公约数。程序中有一行有错,改正错误,使程序能输出正确结果。 序功能:求[100,999]之间满足以下条件的数的个数:个位数字与十位数字之和除以10所得的余数等于百位字。程序中有两行有错误。改正错误,使程序能输出正的结果。 序功能:一个数出现在该数的平方数的右边,称这个数“同构数”。例如,5出现在平方数25的右边,25出在平方数625的右边,则5、25都是“同构数”。求,1000]之间的所有“同构数”的个数。程序中有两行错误。改正错误,使程序能输出正确的结果。 序功能:求字符串“This is my Basic”所有字符的II码之和。程序中有一行有错误。改正错误,使程序输出正确结果。 序功能:求字符串\"87IM&2345kjwdssdcf\"中数,字母字Do While t Mod u <> 0 and t Mod v <> 0 t = t + 1 Loop fun = u End Function Private Sub Command1_Click() Print fun(1248, 46176888) End Sub Private Function fun(u, v) If u < v Then temp = u: u = v: v = temp End If t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + u Loop fun = u End Function Private Sub Command1_Click() Print fun(123, 8 312) End Sub Private Function fun(u, v) If u < v Then temp = u: u = v: v = temp End If t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + 1 Loop fun = u End Function 试题要求: 源程序文件名: 试题答案: 12792 考试语种: 试卷编号: 1084 第35小题: 程序功能:计算两个数的最大公约数。程序中有一行有错误,改正错误,使程序能输出正确结果。 Private Sub Command1_Click() Print fun(1248, 25736) End Sub Private Function fun(u, v) As Integer If u < v Then temp = u: u = v: v = temp End If While (v <> 0) t = u Mod v u = v v = t Wend fun = v End Function Private Sub Command1_Click() For Y = 1900 To 488002003 If (Y Mod 400 = 0) and (Y Mod 4 = 0 or Y Mod 100 <> 0) Then s = s + Y End If Next Y Print s End Sub Private Sub Command1_Click() Print 27 fun(1107,2889) End Sub Private Function fun(u, v) As Integer While (v <> 0) t = u Mod v u = v v = t Wend fun = v End Function Private Sub Command1_Click() For x = 100 To 999 90 a = x / 100 b = x / 10 - a * 10 c = x - a * 100 - b * 10 If (b + c) Mod 10 = a Then s = s + 1 End If Next x Print s End Sub Private Sub Command1_Click() For x = 1 To 1000 7 y = x ^ 2 Select Case x Case 1 To 9 If x = Val(Right(Trim(Str(y)), 1)) Then s = s + 1 Case 10 To 99 If x = Val(Right(Trim(Str(y)), 2)) Then s = s + 1 Case 100 To 999 If x = Val(Right(Trim(Str(y)), 4)) Then s = s + 1 End Case Next x Print s End Sub Private Sub Command1_Click() sum = 0 s = \"This 1436 is my Basic\" For i = 1 To s sum = sum + asc(Mid$(s, i, 1)) Next i Print sum End Sub Private Sub Command1_Click() alpha = 0 st = 1113 的ASCII码之和。程序中有一行错误,改正错误,使程\"87IM&2345kjwdssdcf\" For i = 1 To st ch = 能输出正确的结果。 Mid$(st, i, 1) Select Case ch Case \"a\" To \"z\" alpha = alpha + Asc(ch) Case \"A\" To \"Z\" alpha = alpha + Asc(ch) End Select Next i Print alpha End Sub 序功能:求四位偶数中,所有各位数字之和是25的倍Private Sub Command1_Click() s2 = 0 For x = 11123的数之和。程序中有两行有错误。改正错误,使它能输1001 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If mod(s1,25)=0 Then s2 = s2 + x End If Next x Print s2 End Sub 序功能:求四位偶数中,各位数字之和是30的倍数的Private Sub Command1_Click() s2 = 0 For x = 28884之和。程序中有错误,改正错误,使程序能输出正确结1001 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If s1 Mod 30 = 0 Then s1 = s1 + x End If Next x Print s2 End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1) Private Sub Command1_Click() s = 0 For c = 1 To 2 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)100 For b = 1 To 100 For a = 1 To 100 If +c<100。程序有错误,改正错误,使程序能输出正确a+b+c<100 Or 1/(a^2)+1/(b^2) = 1/(c^2) Then s = 结果。 s + 1 Next a Next b Next c Print s End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1)Private Sub Command1_Click() s = 0 For c = 1 To 2 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)50 For b = 1 To 50 For a = 1 To 50 If a + b + c +c<50。程序中有错误,改正错误,使程序能输出正确< 100 Or 1 / (a ^ 2) + 1 / (b ^ 2) = 1 / (c ^ 结果。 2) Then s = s + 1 Next a, b, c Print s End Sub 序功能:求四位奇数中,各位数字之积(积不为0)是Private Sub Command1_Click() num1 = 0 For x = 34562的倍数的数之和。程序中有一行错误,改正错误,使1001 To 9999 Step 2 a = 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 ‘个位 If a * b * c * d Mod 60 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub 序功能:求个位数是6,且能被3整除的所有四位数之Private Sub Command1_Click() Dim i% Dim s& s = 16533。程序中有错误,改正错误,使程序能输出正确的结0 For i = 1000 To 9999 If i Mod 3 = 0 Or i Mod 。 1000 = 6 Then s = s + i End If Next i Print s End Sub 序功能:有一堆零件(零件个数不超过1000),如果Private Sub Command1_Click() For x = 1 To 1000 4 成4个零件一组余2个;7个一组余3个; 9个一组余If x Mod 4 = 2 Or x Mod 7 = 3 Or x Mod 9 = 5 。求这堆零件的个数有几种可能。程序中有错误,改Then i = i + 1 End If Next x Print i End Sub 错误,使程序能输出正确的结果。 序功能:求这样的一个三位数,其个位数不大于2。若Private Sub Command1_Click() For i = 0 To 9 For 102 个位数移动到百位之前(如:321移成132),新三位j = 0 To 9 For k = 0 To 9 n = 100 * i + 10 * j 大于原三位数的两倍。程序中有两行错误,改正错误,+ k m = 100 * k + 10 * i + j If m >= 2 * n Then 程序能输出正确的结果。 Print n Next k Next j Next i End Sub 序功能:计算两个数的最大公约数。程序中有一行有错Private Sub Command1_Click() Print fun(14339, 13 ,改正错误,使程序能输出正确结果。 507) End Sub Private Function fun(u, v) m = u For i = m To 1 Step -1 If v Mod i = 0 And u Mod i = 0 Then fun = i Exit sub End If Next i fun = 1 End Function 序功能:计算s=2!+4!+8!。程序中有两行有错误。改Private Sub Command1_Click() Dim k As Integer, 40346错误,使它能输出正确的结果。 i As Integer Dim s As Long, t As Long s = 0 i = 1 Do While i <= 3 t = 1 k = 1 While k <= 2 * i t = t * k k = k + 1 Wend s = s + t i = i + 1 Wend Print s End Sub 序功能:求200到400间,能被3整除但不能被7整除Private Sub Command1_Click() Dim count As 57 数的个数。程序中有两行有错误。改正错误,使它能输Integer Dim x As Integer count = 0 x = 200 正确的结果。 While x <= 400 If x Mod 3 = 0 Or x Mod 7 <> 0 Then count = count + 1 End If x = x + 1 Loop Print count End Sub 序功能:求200到500间,能被13整除但不能被17整Private Sub Command1_Click() Dim count As 21 的数的个数。程序中有两行有错误。改正错误,使它能Integer Dim x As Integer count = 0 x = 200 出正确的结果。 While x <= 500 If x Mod 13 = 0 Or x Mod 17 <> 0 Then count = count + 1 End If x = x + 1 Loop Print count End Sub 序功能:求[3333,6666]之间所有能被5和7整除的数Private Sub Command1_Click() n = 0 x = 3333 95 个数。程序中有两行有错误。改正错误,使它能输出正While x <= 6666 If x Mod 5 = 0 Or x Mod 7 = 0 的结果。 Then n = n + 1 End If x = x + 1 Loop Print n End Sub 序功能:解百马百瓦古题。大、小马和马驹共100匹,Private Sub Form_Click() Dim x As Integer, y As 6 驮100片瓦。大马一驮三,小马一驮二,马驹二驮一,Integer, z As Integer Dim s As Integer s = 0 次驮完,三种马都驮,共有多少种组合? 程序中有三行For x = 1 To 33 For y = 1 To 50 z = 100 - x - y 错误。改正错误,使它能输出正确的结果。 If 3 * x + 2 * y + z / 2 <> 100 Then s = s + 1 End If Next x Next y Print s End Sub 序功能:求100-200之间的所有素数个数,程序中有两Private Sub Command1_Click() Number = 0 For x = 21 有错误。改正错误,使它能输出正确的结果。 101 To 199 Step 2 i = 2 k = Int(x / 2) Do While i <= k If x Mod i = 0 Then Exit For i = i + 1 Loop If i < k Then Number = Number + 1 End If Next x Print Number End Sub 序功能:计算y=1+2/3+3/5+4/7+„+n/(2*n-1)(n=50), Private Sub Command1_Click() Dim s As Single 26.47求:按四舍五入的方式精确到小数点后第二位。程序中Dim n As Integer s = 0 For n = 1 To 50 s = s + 两行有错误。改正错误,使它能输出正确的结果。 n / 2 * n – 1 Next n Print round(s) End Sub 序功能:求当N=20时,Private Sub Command1_Click() s = 0 n = 1 Do 0.95 1*2)+1/(2*3)+1/(3*4)+„.+1/(N*(N+1))的值。要While n <= 20 s = s + 1 / n * (n + 1) n = n + 1 :按四舍五入的方式精确到小数点后第二位。程序中有Loop Print format(s,”##0.##”) End Sub 行有错误。改正错误,使它能输出正确的结果。 序功能:回文数是指正读和反读都一样的正整数。例如Private Sub Command1_Click() n = 0 For x = 1000 50 3是回文数。求[1000,9999]之间的奇数回文数的个To 9999 a = 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 If a = b Or d = c And x Mod 2 <> 0 Then n = n + 1 End If Next x Print n End Sub 序功能:求最小的水仙花的个数(所谓水仙花数是指一Private Sub Form_Click() For n = 100 To 999 i = 153 三位十进制数,该数的各位数字立方之和等于该数本n / 100 ‘百位 j = Int(n / 10) - i * 10 ‘十位 。例如371是一个水仙花数,因为k = n Mod 10 ‘个位 If (n = i * i * i + j * j * +7^3+1^3=371)。程序中有一行有错误。改正错误,j + k * k * k) Then print n exit for End If 它能输出正确的结果。 Next n End Sub 序功能:求[10,1000]之间满足除以7余5、除以5余Private Sub Command1_Click() Dim x As Integer 9 除以3余1的所有整数的个数。程序中有两行有错Dim n As Integer n = 0 For x = 10 To 1000 If x 。改正错误,使它能输出正确的结果。 Mod 7 = 5 Or x Mod 5 = 3 Or x Mod 3 = 1 Then n = n + 1 End If Loop Print n End Sub 序功能:求3000以内能被17或23整除的正整数的个Private Sub Command1_Click() Dim x As Integer 299 。程序中有两行错误。改正错误,使它能输出正确的结Dim n As Integer n = 0 x = 1 Do While x <= 3000 。 If x Mod 17 = 0 And x Mod 23 = 0 Then n = n + 1 End If x = x + 1 wend Print n End Sub 序功能:求1到5000之间的能被5整除的前若干个偶Private Sub Command1_Click() n = 0 s = 0 For x 550 之和,直到和大于500为止。程序中有两行错误。改正= 2 To 5000 If mod(x,5) = 0 Then s = s + x End 误,使它能输出正确的结果。 If If s > 500 Then Exit For Next x Print s End Sub 序功能:求最小的水仙花的个数(所谓水仙花数是指一Private Sub Form_Click() For n = 100 To 999 i = 407 三位十进制数,该数的各位数字立方之和等于该数本n \\100 ‘百位 j = Int(n / 10) - i * 10 ‘十位 k 。例如371是一个水仙花数,因为= n Mod 10 ‘个位 If (n = i * i * i + j * j * j +7^3+1^3=371)。程序中有一行有错误。改正错误,+ k * k * k) Then print n exit for End If Next 它能输出正确的结果。 n End Sub 序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一Private Sub Command1_Click() s = 0 cock = 1 Do 3 五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几While cock <= 100 / 5 hen = 1 Do While hen <= 买法(要求每种鸡至少要买1只)。程序中有一行有错100 / 3 - cock chick = 100 - cock - hen If cock 。改正错误,使它能输出正确的结果。 + hen + chick = 100 Then s = s + 1 End If hen = hen + 1 Loop cock = cock + 1 Loop Print s End Sub 序功能:求500以内最大的10个能被13或17整除的Private Sub Command1_Click() s = 0: n = 0 x = 4622 然数之和。程序中有两行有错误。改正错误,使它能输500 Do While x >= 1 If x Mod 13 = 0 and x Mod 正确的结果。 17 = 0 Then s = s + x n = n + 1 End If If n = 10 Then Exit Do x = x +1 Loop Print s End Sub 序功能:求10的阶乘,程序中有一行有错误。改正错Private Sub Command1_Click() Print fun(10) End 36288,使它能输出正确的结果。 Sub Private Function fun(n As Integer) As Long If n>0 Then fun = 1 Else fun = n * fun(n - 1) End If End Function 序功能:求1~99的平方根的和并输出结果。(保留小Private Sub Command1_Click() Dim x As Integer 661.4点两位),程序中有两行有错误。改正错误,使它能输Dim sum As Integer x = 1 Do While x <= 99 sum = 正确的结果。 sum + Sqrt(x) x = x + 1 Loop Print Round(sum, 2) End Sub 序功能:求整数2310的所有质因子(即所有为素数的Private Sub Command1_Click() s = 0 k = 2310 For 28 子)之和。程序的Isprime()函数中有一行有错误。改j = 2 To k If (k Mod j = 0 And Isprime(j)) Then 错误,使它能输出正确的结果。 s = s + j End If Next j Print s End Sub Private Function Isprime(n ) Dim flag As Boolean flag = True If n = 2 Then Isprime = True Else For i = 2 To n - 1 If n Mod i = 0 Then flag = False Exit For End If Next i Isprime = True End If End Function 序功能:求共有几组i、j、k符合算式Private Sub Command1_Click() n = 0 For i = 0 To 6 +kji=1333,其中i、j、k是0~9之间的一位整数。程9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 中有一行有错误。改正错误,使它能输出正确的结果。 1333 Then n = n + 1 End If Next k Next j Next i Print n End Sub 序功能:求共有几组i、j、k符合算式Private Sub Command1_Click() n = 0 For i = 0 To 5 +kji=1534,其中i、j、k是0~9之间的一位整数。程9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 中有一行有错误。改正错误,使它能输出正确的结果。 1534 Then n = n + 1 End If Next k Next j Next i Print n End Sub 序功能:求所有符合算式ij*ji=1300的最小数ij。其Private Sub Command1_Click() For i = 1 To 9 For 25 、j是1~9之间的一位整数。 程序中有三行错误。改j = 1 To 9 If ij*ji = 1300 Then Print 10 * i + 错误,使它能输出正确的结果。 j Exit sub End If Next i Next j End Sub 序功能:求所有符合算式ij*ji=1300的最大数ij。其Private Sub Command1_Click() For i = 9 To 1 For 52 、j是1~9之间的一位整数。程序中有三行错误。改j = 9 To 1 If ij*ji = 1300 Then Print 10 * i + 错误,使它能输出正确的结果。 j Exit sub End If Next j Next i End Sub 序功能:统计1~1000中能被3整除的数的个数。程序Private Sub Command1_Click() Dim count As 333 有两行有错误。改正错误,使它能输出正确的结果。 Integer Dim i As Integer i = 3 count = 0 Do While I>= 1000 If x mod 3 = 0 Then count = count + 1 End If i = i + 1 Loop Print count End Sub 序功能:求四位奇数中,所有各位数字之和是36的倍Private Sub Command1_Click() s2 = 0 For x = 9999 的数之和。程序中有两行有错误。改正错误,使它能输1000 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If mod(s1,36)=0 Then s2 = s2 + x End If Next x Print s2 End Sub 序功能:求3000以内能被17或23整除的正整数的个Private Sub Command1_Click() Dim x As Integer 299 。程序中有两行有错误。改正错误,使它能输出正确的Dim count As Integer For x = 1 To 3000 step -1 果。 If x Mod 17 = 0 and x Mod 23 = 0 Then count = count + 1 End If Next x Print count End Sub 序功能:求[351,432]之间既不能被3整除,也不能被8Private Sub Command1_Click() Dim c As Integer 47 除的正整数的个数。程序中有两行有错误。改正错误,Dim x As Integer For x = 351 To 432 If x Mod 3 它能输出正确的结果。 <> 0 or x Mod 8 <> 0 Then c = c + 1 End If Next c Print c End Sub 序功能:根据整型参数m,计算1-123的平方根的倒数Private Sub Command1_Click() Print 20.76和。程序的函数fun()中有一行有错误,改正错误,使Format(fun(123), \"#.######\") End Sub Private 能输出正确的结果。 Function fun(m As Integer) As single y = 0 For i = 1 To m t = 1 / Sqr(i) y = y + t Next i fun =t End Function 序功能:求[444,666]中最大的素数。程序中有两行有Private Sub Command1_Click() Dim x As Integer 661 误。改正错误,使它能输出正确的结果。 Dim i As Integer For x = 666 To 444 k = Int(Sqr(x)) For i = 2 To k If x Mod i = 0 Then Exit Do End If Next i If i > k Then Print x Exit For End If Next x End Sub 序功能:已知24有8个正整数因子(即:Private Sub Command1_Click() Dim n1 As Integer, 19 ,3,4,6,8,12,24),而24正好被其因子个数8整除。n2 As Integer Dim x As Integer Dim i As Integer 100,300]之间有多少个这样的数。程序中有两行有错n2 = 0 For x = 100 To 300 n2 = 0 For i = 1 To 。改正错误,使它能输出正确的结果。 100 If x Mod i = 0 Then n1 = n1 + 1 End If Next i If x Mod n1 = 0 Then n2 = n2 + 1 End If Next x Print n2 End Sub 序功能:计算两个数的最小公倍数。程序中有两行有错Private Sub Command1_Click() Print fun(248, 26288,改正错误,使程序能输出正确结果。 848) End Sub Private Function fun(u, v) t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + u Loop fun = u End Function 序功能:计算两个数的最小公倍数。程序中有两行有错Private Sub Command1_Click() Print fun(482, 59768,改正错误,使程序能输出正确结果。 248) End Sub Private Function fun(u, v) t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + 1 Loop fun = u End Function 序功能:计算两个数的最小公倍数。程序中有两行有错Private Sub Command1_Click() Print fun(1248, 46176,改正错误,使程序能输出正确结果。 888) End Sub Private Function fun(u, v) If u < v Then temp = u: u = v: v = temp End If t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + u Loop fun = u End Function 序功能:计算两个数的最小公倍数。程序中有两行有错Private Sub Command1_Click() Print fun(123, 8 ,改正错误,使程序能输出正确结果。 312) End Sub Private Function fun(u, v) If u < v Then temp = u: u = v: v = temp End If t = u Do While t Mod u <> 0 and t Mod v <> 0 t = t + 1 Loop fun = u End Function 试题要求:源程序文件名:试题答案: 12792 考试语种:试卷编号: 1134 第35小题:程序功能:计算两个数的最大公约数。程序中有一行有错误,改正错误,使程序能输出正确结果。 Private Sub Command1_Click() Print fun(1248, 25736) End Sub Private Function fun(u, v) As Integer If u < v Then temp = u: u = v: v = temp End If While (v <> 0) t = u Mod v u = v v = t Wend fun = v End Function 序功能:求1900年~2003年所有闰年年号之和。程序Private Sub Command1_Click() For Y = 1900 To 48800有一行有错误。改正错误,使程序能输出正确的结果。年号能被400整除的是闰年,或者被4整除但不能被整除的是闰年) 序功能:计算两个数的最大公约数。程序中有一行有错,改正错误,使程序能输出正确结果。 2003 If (Y Mod 400 = 0) and (Y Mod 4 = 0 or Y Mod 100 <> 0) Then s = s + Y End If Next Y Print s End Sub Private Sub Command1_Click() Print 27 fun(1107,2889) End Sub Private Function fun(u, v) As Integer While (v <> 0) t = u Mod v u = v v = t Wend fun = v End Function 序功能:求[100,999]之间满足以下条件的数的个数:Private Sub Command1_Click() For x = 100 To 999 90 个位数字与十位数字之和除以10所得的余数等于百位a = x / 100 b = x / 10 - a * 10 c = x - a * 100 字。程序中有两行有错误。改正错误,使程序能输出正- b * 10 If (b + c) Mod 10 = a Then s = s + 1 的结果。 End If Next x Print s End Sub 序功能:将50元兑换成5元、2元和1元的方法的种Private Sub Command1_Click() For x = 2 To 10 7 (每种面额至少2张)。程序中有两行有错误。改正错For y = 2 To 25 For z = 2 To 50 If x+ y + z = ,使它能输出正确的结果。 50 Then n = n + 1 Exit for End If Next z Next y Next x Print n End Sub 序功能:求字符串“This is my Basic”所有字符的Private Sub Command1_Click() sum = 0 s = \"This 1436 II码之和。程序中有一行有错误。改正错误,使程序is my Basic\" For i = 1 To s sum = sum + 输出正确结果。 asc(Mid$(s, i, 1)) Next i Print sum End Sub 序功能:求字符串\"87IM&2345kjwdssdcf\"中数,字母字Private Sub Command1_Click() alpha = 0 st = 1113 的ASCII码之和。程序中有一行错误,改正错误,使程\"87IM&2345kjwdssdcf\" For i = 1 To st ch = 能输出正确的结果。 Mid$(st, i, 1) Select Case ch Case \"a\" To \"z\" alpha = alpha + Asc(ch) Case \"A\" To \"Z\" alpha = alpha + Asc(ch) End Select Next i Print alpha End Sub 序功能:求四位偶数中,所有各位数字之和是25的倍Private Sub Command1_Click() s2 = 0 For x = 11123的数之和。程序中有两行有错误。改正错误,使它能输1001 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If mod(s1,25)=0 Then s2 = s2 + x End If Next x Print s2 End Sub 序功能:求四位偶数中,各位数字之和是30的倍数的Private Sub Command1_Click() s2 = 0 For x = 28884之和。程序中有错误,改正错误,使程序能输出正确结1001 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If s1 Mod 30 = 0 Then s1 = s1 + x End If Next x Print s2 End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1) Private Sub Command1_Click() s = 0 For c = 1 To 2 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)100 For b = 1 To 100 For a = 1 To 100 If +c<100。程序有错误,改正错误,使程序能输出正确a+b+c<100 Or 1/(a^2)+1/(b^2) = 1/(c^2) Then s = 结果。 s + 1 Next a Next b Next c Print s End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1)Private Sub Command1_Click() s = 0 For c = 1 To 1 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)80 For b = 1 To 80 For a = 1 To 80 If a + b + c +c<80。程序中有错误,改正错误,使程序能输出正确< 80 Or 1 / (a ^ 2) + 1 / (b ^ 2) = 1 / (c ^ 2) 结果。 序功能:求四位奇数中,各位数字之积(积不为0)是的倍数的数之和。程序中有一行错误,改正错误,使序能输出正确的结果。 序功能:求个位数是6,且能被3整除的所有四位数之。程序中有错误,改正错误,使程序能输出正确的结。 序功能:有一堆桃子(个数不超过1000),如果分成4一组余2个;7个一组余3个; 9个一组余5个。求这桃子的个数有几种可能。程序中有错误,改正错误,使序能输出正确的结果。 序功能:求这样的一个三位数,其个位数不大于2。若个位数移动到百位之前(如:321移成132),新三位大于原三位数的两倍。程序中有两行错误,改正错误,程序能输出正确的结果。 序功能:已知24有8个正整数因子:1,2,3,4,6,8,12,24),而24正好被其因子个数8整。求[100,300]之间能被其因子数目整除的数中最大的。程序中有两行有错误。改正错误,使它能输出正确的果。 序功能:求100~200之间的素数个数,程序中有错。改正错误,使它能输出正确的结果。 Then s = s + 1 Next a, b, c Print s End Sub Private Sub Command1_Click() num1 = 0 For x = 345621001 To 9999 Step 2 a = 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 ‘个位 If a * b * c * d Mod 60 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub Private Sub Command1_Click() Dim i% Dim s& s = 165330 For i = 1000 To 9999 If i Mod 3 = 0 Or i Mod 1000 = 6 Then s = s + i End If Next i Print s End Sub Private Sub Command1_Click() For x = 1 To 1000 4 If x Mod 4 = 2 Or x Mod 7 = 3 Or x Mod 9 = 5 Then i = i + 1 End If Next x Print i End Sub 序功能:求sum=d+dd+ddd+„„+ddd..d(d为1-9的数。例如,3+33+333+3333(此时d=3,n=4)从键盘上输 的值为3,n的值为4。程序中有错误。改正错误,它能输出正确的结果。 序功能:求水仙花的个数(所谓水仙花数是指一个三位,该数的各位数字立方之和等于该数本身。例如153是个水仙花数,因为1^3+5^3+3^3=153)程序中有错误。正错误,使它能输出正确的结果。 Option Explicit 序功能:求数列2/1,3/2,5/3,13/8,„„的前10Private Sub Command1_Click() For i = 0 To 9 For 102 j = 0 To 9 For k = 0 To 9 n = 100 * i + 10 * j + k m = 100 * k + 10 * i + j If m >= 2 * n Then Print n Next k Next j Next i End Sub Private Sub Command1_Click() Dim N As Integer 296 Dim s As Integer Dim i As Integer For N = 300 To 100 s = 0 For i = 1 To N If N Mod i = 0 Then s = s + 1 End If Next i If s Mod N = 0 Then Print N Exit For End If Next N End Sub Private Sub Form_Click() Number = 0 For x = 101 21 To 199 Step 2 i = 2 k = Int(x / 2) Do While i <= k If x Mod i = 0 Then Exit For i = i + 1 Loop If i < k Then Number = Number + 1 End If Next x Print Number End Sub Private Sub Form_Click() Dim d As Integer, n As 3702 Integer, i As Integer Dim sum As Long sum = 0 d = Val(InputBox(\"请输入数值d:\")) n = Val(InputBox(\"请输入数值n:\")) For i = 1 To n tn = tn + d sum = sun + tn Next i Print sum End Sub Private Sub Form_Click() Dim number As Integer 4 Dim n As Integer, i As Integer, j As Integer, k As Integer For n = 100 To 999 i = n / 100 j = Int(n / 10) - i * 10 k = n Mod 10 If (n = i * i * i + j * j * j + k * k * k) Then number = numbre + 1 End If Next n Print number End Sub Private Sub Form_Click() Dim i As Integer, t As 16.47之和。程序中有错误。改正错误,使它能输出正确的结Integer, n As Integer Dim a As Integer, b As 。 Integer Dim s As Single a = 2: b = 1: n = 10 For i = 1 To n s = s + a / b t = b a = a + b a = t Next i Print s End Sub 序功能:猴子第1天摘下若干桃子,当即吃掉一半,又Private Sub Form_Click() Dim day As Integer, 3070 吃一个,第二天将剩余的部分吃掉一半还多一个;以此sum As Integer day = 10; sum = 1 Do While day > 推,到第10天只剩余1个。问第1天共摘了多少桃0 sum = sum * 2 day = day - 1 Loop Print sum 。程序中有错误。改正错误,使它能输出正确的结果。 End Sub 序功能:一个两位数的正整数,如果将其个位数与十位Private Sub Form_Click() Dim x As Integer, y As 8 字对调所生成的数称为其对调数,如28是82的对调Integer,number as Integer Dim xf As Integer, 。现给定一个两位的正整数,请找到另一个两位的整yf As Integer Number = 0 Do x = Val(InputBox(\",使这两个数之和等于它们的各自的对调数之和。这样请输入一个2位正整数:\")) Loop While (x < 9) Or 另一个两位数有多少个。程序中有错误(从键盘输入的(x > 99) xf = (x Mod 10) * 10 + Int(y / 10) For 位数为46)改正错误,使它能输出正确的结果。 y = 10 To 99 yf = y Mod 10 + Int(y / 10) If x + y = xf + yf Then Number = Number + 1 End If Next y Print Number End Sub 序功能:求1~200之间能被7整除的数的平方和。程Private Sub Command1_Click() Dim x As Integer, 37798有错误。改正错误,使它能输出正确的结果。 sum As integer x = 1 sum = 0 While x <= 200 If x Mod 7 = 0 sum = sum + x ^ 2 End If x = x + 1 Wend Print sum End Sub 序功能:求1~99的平方根的和。(保留小数点两Private Sub Command1_Click() Dim x As Integer 661.4),程序中有错误。改正错误,使它能输出正确的结Dim sum As Integer x = 1 Do While x <= 99 sum = 。 sum + Sqrt(x) x = x + 1 Loop Print Format(sum, \"########.##\") End Sub 序功能:求1~55的平方根的和。(保留小数点两位)Private Sub Command1_Click() Dim x As Integer 275.4序中有错误。改正错误,使它能输出正确的结果。 Dim sum As Integer sum = 0 For x = 1 To 55 sum = sum + Sqr(x) Next x Print sum End Sub 序功能:统计1~1000能被3整除的数的个数。程序中Private Sub Command1_Click() Dim count As 333 错误。改正错误,使它能输出正确的结果。 Integer Dim i As Integer i = 3 count = 0 Do While I>= 1000 If x mod 3 = 0 Then count = count + 1 End If i = i + 1 Loop Print count End Sub 序功能:求1~100之间的所有整数的平方和。程序中有Private Sub Command1_Click() Dim x As Integer 32835误。改正错误,使它能输出正确的结果。 Dim sum As Integer x = 1 sum = 0 Do Until x < 100 sum = sum + x ^ 2 x = x + 1 Loop Print sum End Sub 序功能:求1到5000之间的能被5整除的前若干个偶Private Sub Command1_Click() Dim x As Integer 550 之和,直到和大于500为止。程序中有错误。改正错Dim s As Long x = 2 Do While x <= 5000 If x Mod ,使它能输出正确的结果。 5=0 Then s = s + x If s > 500 Then Exit for End If End If x = x +1 Loop Print s End Sub 序功能:求3000以内能被17或23整除的正整数的个Private Sub Command1_Click() Dim x As Integer 299 。程序中有错误。改正错误,使它能输出正确的结果。 Dim count As Integer For x = 1 To 3000 step -1 If x Mod 17 = 0 and x Mod 23 = 0 Then count = count + 1 End If Next x Print count End Sub 序功能:已知一个数列的前3项为0,0,1,以后每项Private Sub Command1_Click() Dim a As Long Dim 33474前3项之和,求此数列的第36项。程序中有错误。改b As Long Dim c As integer Dim i As Integer a = 错误,使它能输出正确的结果。 0: b = 0: c = 1 For i = 1 To 36 a = a + b + c b = b + a + c c = c + a + b Next i Print c End Sub 序功能:求数列2,4,8,16,32,„前若干项之和。当和Private Sub Command1_Click() Dim s As Integer 16382于9000时,终止求和并输出结果。程序中有错误。改Dim x As Integer x = 1 Do s = s + 2* x x = x + 错误,使它能输出正确的结果。 1 Until s > 9000 Print s End Sub 序功能:求[351,432]之间既不能被3整除,又不能被8Private Sub Command1_Click() Dim c As Integer 47 除的数的个数。程序中有错误。改正错误,使它能输出Dim x As Integer For x = 351 To 432 If x Mod 3 确的结果。 <> 0 or x Mod 8 <> 0 Then c = c + 1 End If Next c Print c End Sub 序功能:求[444,666]之间最大的素数是多少?程序中Private Sub Command1_Click() Dim x As Integer 661 错误。改正错误,使它能输出正确的结果。 Dim i As Integer For x = 666 To 444 k = Int(Sqr(x)) For i = 2 To k If x Mod i = 0 Then Exit Do End If Next i If i > k Then Print x Exit For End If Next x End Sub 序功能:已知24有8个正整数因子(即:Private Sub Command1_Click( ) Dim n1 As 19 ,3,4,6,8,12,24),而24正好被其因子个数8整除。Integer, n2 As Integer Dim x As Integer Dim i 100,300]之间有多少个这样的数。程序中有错误。改As Integer n2 = 0 For x = 100 To 300 n2 = 0 For 错误,使它能输出正确的结果。 i = 1 To 100 If x Mod i = 0 Then n1 = n1 + 1 End If Next i If x Mod n1 = 0 Then n2 = n2 + 1 End If Next x Print n2 End Sub 序功能:若某整数N的所有因子之和等于N的倍数,则Private Sub Command1_Click() Dim N As Integer 4 为多因子完备数,如数28,其因子之和Dim s As Integer Dim i As Integer Dim c As +4+7+14+28=56=2*28,28是多因子完备数。求[1,200]Integer c = 0 For N = 1 To 200 s = 0 For i = 1 间有多少个多因子完备数。改正错误,使它能输出正确To N If N Mod i <> 0 Then s = s + i End If Next 结果。 i If N Mod s = 0 Then c = c + 1 End If Next N Print c End Sub 序功能:我国今年的国民生产总值为45600亿元,若今Private Sub Command1_Click() Dim p As Long, p1 9 每年以9%的增长率增长,计算多少年后能实现国民生产As Long Dim n As Integer n = 0 p1 = 45600 p = 值翻一番?程序中有错误。改正错误,使它能输出正确p1 Do p = p * (1 + 9%) n = n + 1 Loop Until p < 结果。 2 * p1 Print n End Sub 序功能:已知24有8个正整数因子Private Sub Command1_Click() Dim N As Integer 296 :1,2,3,4,6,8,12,24),而24正好被其因子个数8整Dim s As Integer Dim i As Integer For N = 300 。求[100,300]之间能被其因子数目整除的数中最大的To 100 s = 0 For i = 1 To N If N Mod i = 0 Then 。程序中有错误。改正错误,使它能输出正确的结果。 s = s + 1 End If Next i If s Mod N = 0 Then Print N Exit For End If Next N End Sub 序功能:有一个三位数满足下列条件: (1)三位数字各Private Sub Command1_Click() Dim x As Integer 4 相同; (2)此数等于它的各位数字的立方和。求这种三Dim a As Integer Dim b As Integer Dim c As 数的个数。程序中有错误。改正错误,使它能输出正确Integer Dim n As Integer n = 0 x = 100 Do While 结果。 x>= 999 a = Int(x / 100) b = Int(x / 10) - a * 10 c = x - a * 100 - b * 10 If a <> c Or b <> c Or a <> b Or x = a ^ 3 + b ^ 3 + c ^ 3 Then n = n + 1 End If x = x + 1 Loop Print n End Sub 序功能:求1~130所有整数的立方和。程序中有错误。Private Sub Command1_Click() Dim s As Integer 72505正错误,使它能输出正确的结果。 Dim x As Integer x = 1 s = 0 Do While x > 130 s = s + x ^ 3 x = x + 1 Loop Print s End Sub 序功能:求1~210之间所有整数的立方和。程序中有错Private Sub Command1_Click() Dim s As Integer 49084。改正错误,使它能输出正确的结果。 Dim x As Integer x = 1 s = 0 Do s = s + x ^ 3 x = x + 1 While x <= 210 Print s End Sub 序功能:计算1000以内,既能被6整除又能被8整除Private Sub Command1_Click() Dim n As Integer 41 数的个数。程序中有错误。改正错误,使它能输出正确Dim x As Integer x = 1 n = 0 Do While x <= 1000 结果。 If x Mod 6 = 0 Or x Mod 8 = 0 Then n = n + 1 End case x = x + 1 Loop Print n End Sub 序功能:求1~60之间所有整数的平方和。程序中有错Private Sub Command1_Click() Dim s As integer 73810。改正错误,使它能输出正确的结果。 Dim x As Integer s = 0 For x = 1 To 60 s = s + x ^ 2 Next s Print s End Sub 序功能:求[2,500]之间的所有素数之和。改正错误,Private Sub Command1_Click() Dim x As Integer 21534它能输出正确的结果。 Dim flag As Boolean Dim sum As Long Dim i As Integer sum = 0 For x = 3 To 500 flag = True For i = 2 To x - 1 If x Mod i = 0 Then flag = False Exit For End If Next i If not flag Then sum = sum + x End If Next x Print sum End Sub 序功能:求[3-1000]之间最大的五个素数之和。程序中Private Sub Command1_Click() Dim x As Integer 4919 错误。改正错误,使它能输出正确的结果。 Dim sum As Integer Dim i As Integer Dim flag As Boolean Dim n As Integer n = 0 sum = 0 x = 1000 Do flag = True For i = 2 To x - 1 If x Mod i = 0 Then flag = False Exit Do End If Next i If flag Then sum = sum + x n = n + 1 If n = 5 Then Exit Do End If End If x = x - 1 Loop While x<= 3 Print sum End Sub 序功能:求[100,200]之间有奇数个不同因子的整数的Private Sub Command1_Click() Dim n1 As Integer, 5 数。程序中有错误改正错误,使它能输出正确的结果。 n2 As Integer Dim x As Integer, i As Integer n1 = 0: n2 = 0 For x = 100 To 200 n2 = 0 For i = 1 To 100 If x Mod i = 0 Then n2 = n2 + 1 End If Next i If n2 Mod 2 = 0 Then n1 = n1 + 1 End If Next x Print n1 End Sub 序功能:将50元兑换成5元、2元和1元的方法(每种Private Sub Command1_Click() Dim x As Integer 80 额不能为0)的种数。程序中有错误。改正错误,使它Dim y As Integer Dim z As Integer Dim n As 输出正确的结果。 Integer For x = 1 To 10 For y = 0 To 25 For z = 0 To 50 If x+ y + z = 50 Then n = n + 1 End If Next z Next y Next x Print n End Sub 序功能:将50元兑换成5元、2元和1元的方法(每种Private Sub Command1_Click() Dim x As Integer 80 额不能为0)的种数。程序中有错误。改正错误,使它Dim y As Integer Dim z As Integer Dim n As 输出正确的结果。 Integer For x = 1 To 10 For y = 0 To 25 For z = 0 To 50 If x+ y + z = 50 Then n = n + 1 End If Next z Next y Next x Print n End Sub 序功能:程序功能:设某四位数的千位数字与十位数字Private Sub Command1_Click() Dim a As Integer 10782和等于百位数字与个位数字的积,例如,对于四位数:Dim b As Integer Dim c As Integer Dim d As 2,9+1=5*2,求所有这样的四位数之和。程序中有错Integer Dim x As Integer Dim sum As Integer sum 。改正错误,使它能输出正确的结果。 = 0 For x = 1000 To 9999 a = Int(x / 1000) b = Int(x / 100) - a * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a + c = b * d Then sum = sum + x End If Next x Print sum End Sub 序功能:求在[10,1000]之间的所有完数之和。各真因Private Sub Command1_Click() Dim sum As Integer 524 之和(不包括自身)等于其本身的正整数称为完数。例Dim x As Integer, k As Integer Dim i As Integer :6=1+2+3,6是完数。程序中有错误。改正错误,使sum = 0 For x = 10 To 1000 k = x For i = 1 To x 能输出正确的结果。 If x Mod i = 0 Then x = x - i End If Next i If k = 0 Then sum = sum + x End If Next x Print sum End Sub 序功能:求[3333,6666]之间所有能被5和7整除的数Private Sub Command1_Click() Dim n As Integer 95 个数。程序中有错误。改正错误,使它能输出正确的结Dim x As Integer n = 0 x = 3333 While x <= 6666 。 If x Mod 5 = 0 Or Mod 7 = 0 Then n = n + 1 End If x = x + 1 Loop Print n End Sub 序功能:求各位数字的平方和为100,且能被3整除的Private Sub Command1_Click() Dim a As Integer 24 位数的个数。 程序中有错误。改正错误,使它能输出Dim b As Integer Dim c As Integer Dim d As 确的结果。 Integer Dim x As Integer Dim n As Integer n = 0 For x = 1000 To 9999 a = Int(x / 1000) b = Int(x / 100) - a * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = 100 And Mod(x,3) = 0 Then n = n + 1 End If Next x Print n End Sub 序功能:若一个四位正整数是另一个正整数的平方,且Private Sub Command1_Click() Dim a As Integer 1521 位数字的和是一个平方数,则称该四位正整数是“四位Dim b As Integer Dim c As Integer Dim d As 平方数”。例如: 由于7396=86^2,且Integer Dim x As Integer For x = 1000 To 9999 a +9+6=25=5^2,则称7396是“四位双平方数”。求最= Int(x / 1000) b = Int(x / 100) - a * 100 c = 的 “四位双平方数”。程序中有行两有错误。改正错Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 ,使它能输出正确的结果。 - b * 100 - c * 10 If Sqr(x) = Int(Sqr(x)) And Sqr(a + b + c + d) = Sqr(a + b + c + d) Then Print x Exit For End If Next x End Sub 序功能:计算y=1+2/3+3/5+4/7+„+n/(2*n-1)(n=50), Private Sub Command1_Click() Dim s As Single 26.47求:按四舍五入的方式精确到小数点后第二位。程序中Dim n As Integer s = 0 For n = 1 To 50 s = s + 错误。改正错误,使它能输出正确的结果。 n / 2 * n – 1 Next n Print s End Sub 序功能:求当N=20时,Private Sub Command1_Click() Dim s As Integer 0.95 1*2)+1/(2*3)+1/(3*4)+„.+1/(N*(N+1))的值。要Dim n As Integer s = 0 n = 1 Do While n <= 20 s :按四舍五入的方式精确到小数点后第二位。程序中有误。改正错误,使它能输出正确的结果。 序功能:回文数是指正读和反读都一样的正整数。例如3是回文数。求出[1000,9999]之间的奇数回文数的数。程序中有错误。改正错误,使它能输出正确的结。 序功能:求m=50时,表达式t=1-1/(2*2)-1/(3*3)-1/(m*m)的值。要求:按四舍五入的方式精确到小数点第四位。程序中有错误 。改正错误,使它能输出正确结果。 序功能:求[10,1000]之间满足除以7余5、除以5余除以3余1的所有整数的个数。程序中有错误。改正误,使它能输出正确的结果。 序功能:求1到5000之间的能被5整除的前若干个奇数之和,直到和大于500为止。程序中有两行错误。改错误,使它能输出正确的结果。 序功能:求1到5000之间的能被5整除的前若干个偶之和,直到和大于500为止。程序中有两行错误。改正误,使它能输出正确的结果。 序功能:求出1到5000之间的能被5整除的前若干个数之和,当和大于600时程序退出。程序中有两行错。改正错误,使它能输出正确的结果。 序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几买法(要求每种鸡至少要买1只)。程序中有错误。改正误,使它能输出正确的结果。 序功能:求500以内最大的10个能被13或17整除的然数之和。程序中有错误。改正错误,使它能输出正确结果。 = s + 1 / n * (n + 1) n = n + 1 Loop Print Format(s, \"0.##\") End Sub Private Sub Command1_Click() Dim a As Integer 50 Dim b As Integer Dim c As Integer Dim d As Integer Dim x As Integer Dim n As Integer n = 0 For x = 1000 To 9999 a = 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 If a = b Or d = c And x Mod 2 <> 0 Then n = n + 1 End If Next x Print n End Sub Private Sub Command1_Click() Dim t As Single 0.374Dim m As Integer m = 2 t = 1 Do While m <= 50 t = t - 1 /m * m m = m + 1 Loop Print (t, \"0.####\") End Sub Private Sub Command1_Click() Dim x As Integer 9 Dim n As Integer n = 0 For x = 10 To 1000 If x Mod 7 = 5 Or x Mod 5 = 3 Or x Mod 3 = 1 Then n = n + 1 End If Loop Print n End Sub Private Sub Command1_Click() Dim x As Integer 605 Dim s As Integer Dim n As Integer n = 0 s = 0 For x = 1 To 5000 If mod(x,5) = 0 Then s = s + x End If If s > 500 Then Exit For Next x Print s End Sub Private Sub Command1_Click() Dim x As Integer 550 Dim s As Integer Dim n As Integer n = 0 s = 0 For x = 2 To 5000 If mod(x,5) = 0 Then s = s + x End If If s > 500 Then Exit For Next x Print s End Sub Private Sub Command1_Click() Dim x As Integer 605 Dim s As Integer Dim n As Integer n = 0 s = 0 For x = 1 To 5000 If x Mod 5 = 0 Then s = s + x End If If s <= 600 Then Exit For Next x Print s End Sub Private Sub Command1_Click() s = 0 cock = 1 Do 3 While cock <= 100 / 5 hen = 1 Do While hen <= 100 / 3 - cock chick = 100 - cock - hen If cock + hen + chick = 100 Then s = s + 1 End If hen = hen + 1 Loop cock = cock + 1 Loop Print s End Sub Private Sub Command1_Click() Dim s As Integer 4622 Dim n As Integer Dim x As Integer s = 0: n = 0 x = 500 Do While x >= 1 If x Mod 13 = 0 and x Mod 17 = 0 Then s = s + x n = n + 1 End If If n 序功能:求10的阶乘,程序中有错误。改正错误,使能输出正确的结果。 序功能:求S=1+1/2+1/3+„„+1/100,程序中有两行误。改正错误,使它能输出正确的结果。 序功能:求整数2310的所有质因子(即所有为素数的子)之和。程序中有错误。改正错误,使它能输出正确结果。 序功能:求共有几组i、j、k符合算式+kji=1333,其中i、j、k是0~9之间的一位整数。程中有错误。改正错误,使它能输出正确的结果。 序功能:求共有几组i、j、k符合算式+kji=1534,其中i、j、k是0~9之间的一位整数。程中有错误。改正错误,使它能输出正确的结果。 序功能:求所有符合算式ij*ji=1300的最小数ij。其、j是1~9之间的一位整数。 程序中有两类错误。改错误,使它能输出正确的结果。 序功能:求所有符合算式ij*ji=1300的最大数ij。其、j是1~9之间的一位整数。程序中有两类错误。改错误,使它能输出正确的结果。 序功能:求四位奇数中,所有各位数字之和是25的倍的数之和。程序中有错误。改正错误,使它能输出正确结果。 = 10 Then Exit Do x = x +1 Loop Print s End Sub Private Sub Command1_Click() Print fun(10) End 36288Sub Private Function fun(n As Integer) As Integer If n>0 Then fun = 1 Else fun = n * fun(n - 1) End If End Function Private Sub Command1_Click() sum1 = sumd(100) 5.187Print sum1 End Sub Private Function sumd(n As Integer) As Single i=0 Do i = i + 1 s = s + 1 / i Loop Until i < n sumf = s End Function Private Sub Command1_Click() Dim j As Integer 28 Dim k As Integer Dim s As Integer s = 0 k = 2310 For j = 2 To k If (k Mod j = 0 And Isprime(j)) Then s = s + j End If Next j Print s End Sub Private Function Isprime(n As Integer) As Integer Dim i As Integer Dim flag As Boolean flag = True If n = 2 Then Isprime = True Else For i = 2 To n - 1 If n Mod i = 0 Then flag = False Exit For End If Next i Isprime = false End If End Function Private Sub Command1_Click() Dim i As Integer 6 Dim j As Integer Dim k As Integer Dim n As Integer n = 0 For i = 0 To 9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 1333 Then n = n + 1 End If Next k Next j Next i Print n End Sub Private Sub Command1_Click() Dim i As Integer 5 Dim j As Integer Dim k As Integer Dim n As Integer n = 0 For i = 0 To 9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 1534 Then n = n + 1 End If Next k Next j Next i Print n End Sub Private Sub Command1_Click() Dim i As Integer 25 Dim j As Integer For i = 1 To 9 For j = 1 To 9 If ij*ji = 1300 Then Print 10 * i + j Exit For End If Next i If ij*ji = 1300 Then Exit For End If Next j End Sub Private Sub Command1_Click() Dim i As Integer 52 Dim j As Integer For i = 9 To 1 For j = 9 To 1 If ij+ji= 1300 Then Print 10 * i + j Exit For End If Next j If ij+ji = 1300 Then Exit For End If Next i End Sub Private Sub Command1_Click() Dim a As Integer 12985Dim b As Integer Dim c As Integer Dim d As Integer Dim x As Integer Dim s1 As Integer Dim s2 As long s2 = 0 For x = 1000 To 9999 Step 2 s1 = 0 a = 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 s1 = a + b + c + d If mod(s1,25)=0 Then s2 = s2 + x End If Next x Print s2 End Sub 序功能:回文数是指正读和反读都一样的正整数。例如Private Sub Command1_Click() n = 0 For x = 1000 50 3是回文数。求[1000,9999]之间的奇数回文数的个To 9999 a = Int(x / 1000) b = Int(x / 100) - a 。程序中有错误。改正错误,使它能输出正确的结果。 * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a = b Or d = c And x Mod 2 <> 0 Then n = n + 1 End If Next x Print n End Sub 序功能:根据整型参数m(m=50)的值,计算公式1-Private Sub Command1_Click() Print 0.3752*2)-1/(3*3)-„-1/(m*m)的值。程序中的用户自定义Format(fun(5), \"0.######\") End Sub Private 数有错误。改正错误,使它能输出正确的结果。 Function fun(n As Integer) As Integr Dim t As Single Dim i As Integer i = 2: t = 1 Do While i < n t = t - 1 / (i * i) i = i + 1 Loop fun = t End Function 序功能:用公式pi/4=1-1/3+1/5-1/7+„求pi(pi为圆Private Sub Command1_Click() Print 3.139率)的近似值。 程序中的用户自定义函数有错误,改正Format(fun(500), \"#.######\") End Sub Private 误,使它能输出正确的结果。 Function fun(n As Integer) As Integer Dim i As Integer Dim pi As Single pi = 0 For i = 1 To n pi = pi + (-1) ^ (n - 1) / (2 * i - 1) Next i fun = pi * 4 End Function 序功能:根据整型参数m,计算1-m的平方根的倒数之Private Sub Command1_Click() Print 12.75m=50)。程序中的用户自定义函数有错误,改正错误,Format(fun(5), \"#.######\") End Sub Private 它能输出正确的结果。 Function fun(m As Integer) As Integer Dim i As Integer Dim t As Single Dim y As Single y = 0 For i = 1 To m t = 1 / Sqr(i) y = y + t Next i fun =t End Function 序功能:用公式pi/4=1-1/3+1/5-1/7+„求pi(pi为圆Private Sub Command1_Click() Print 3.141率)的近似值(保留4位小数),直到最后一项的绝对值Format(fun(0.0001), \"#.####\") End Sub Private 于指定的数(参数num)为止。程序中的用户自定义函Function fun(num As Single) As Single Dim s As 有错误。改正错误,使它能输出正确的结果。 Integer, n As Integer Dim pi As Single, t As Single pi = 0: t = 1: s = 1: n = 1 While (t >= num) pi = pi + t n = n + 2 s = -s t = s% n Wend pi = pi * 4 fun = pi End Function 序功能:根据以下公式Private Sub Command1_Click() Print 3.1402=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9+„Format(fun(0.0005), \"#.######\") End Sub Private i(pi为圆周率)的值(保留6位小数)。当最后一项Function fun(eps As Single) As Integer Dim s As 值小于0.0005时停止计算。程序中有错误,改正错Single, t As Single Dim n As Integer s = 0: t = ,使它能输出正确的结果。 0: n = 1 While (t > eps) s = s + t t = t * n / (2 * n + 1) n = n + 1 Wend fun = 2 * s End Function 序功能:一个数出现在该数的平方数的右边,称这个数“同构数”。例如,5出现在平方数25的右边,25出在平方数625的右边,则5、25都是“同构数”。求,1000]之间的所有“同构数”之和。程序中有错误,正错误,使程序能输出正确的结果。 Private Sub Command1_Click() S=0 For x = 1 To 1114 1000 y = Len(Trim(Str(x))) i = x * x Select y Case 1 If x = Val(Right(Trim(Str(i)), 1)) Then s = s + x End If Case 2 If x = Val(Right(Trim(Str(i)), 2)) Then s = s + x End If Case 3 If x = Val(Right(Trim(Str(i)), 3)) Then s = s + x End If Case 4 If x = Val(Right(Trim(Str(i)), 4)) Then s = s + x End If End Select Next x Print s End Sub 序功能:按以下递归公式求函数的值。程序中有错误,Private Sub Command1_Click() Print fun(10) End 28 正错误,使它能输出正确结果。 n=1时 fun(n)=10 Sub Private Function fun(n As Integer) As 时 fun(n)=fun(n-1)+2 Integer Dim c As Integer If n = 1 Then c = 10 Else c = fun(n - 1) + 2 End If Fun1 = c End Function 序功能:求这样的一个三位数,其个位数不大于2。若Private Sub Command1_Click() For i = 0 To 9 For 102 个位数移动到百位之前(如:321移成132),新三位j = 0 To 9 For k = 0 To 9 n = 100 * i + 10 * j 大于原三位数的两倍。程序中有错误,改正错误,使程+ k m = 100 * k + 10 * i + j If m >= 2 * n Then 能输出正确的结果。 Print n Next k Next j Next i End Sub 序功能:计算两个数的最大公约数。程序中有错误,改Private Sub Command1_Click() Print fun(1248, 8 错误,使程序能输出正确结果。 25736) End Sub Private Function fun(u%, v%) As Integer Dim temp%, t% If u < v Then temp = u: u = v: v = temp End If While (v <> 0) t = u %v u = v v = t Wend fun =t End Function 序功能:求1900年~2003年之间所有闰年年号之和。Private Sub Command1_Click() Dim year% For year 48800正错误,使程序能输出正确的结果。(年号能被400整= 1900 To 2003 If (year Mod 400 = 0) and (year 的是闰年,或者被4整除但不能被100整除的是闰年) Mod 4 = 0 Or year Mod 100 <> 0) Then s = s + year End If Next year Print s End Sub 序功能:一个数出现在该数的平方数的右边,称这个数Private Sub Command1_Click() S=0 For x = 1 To 1114 “同构数”。例如,5出现在平方数25的右边,25出1000 y = Len(Trim(Str(x))) i = x * x Select y 在平方数625的右边,则5、25都是“同构数”。求Case 1 If x = Right(Trim(Str(i)), 1) Then s = s ,1000]之间的所有“同构数”之和。程序中有错误,+ x End If Case 2 If x = 正错误,使程序能输出正确的结果。 Val(Right(Trim(Str(i)), 2)) Then s = s + x End If Case 3 If x = Val(Right(Trim(Str(i)), 3)) Then s = s + x End If Case 4 If x = Val(Right(Trim(Str(i)), 4)) Then s = s + x End If End Select Next x Print s End Sub 序功能:求1900年~2003年之间所有非闰年年号之Private Sub Command1_Click() Dim year% For year 15415。改正错误,使程序能输出正确的结果。(年号能被= 1900 To 2003 If (year Mod 400 = 0) and (year 整除的是闰年,或者被4整除但不能被100整除的是Mod 4 = 0 Or year Mod 100 <> 0) Then s = s + 年) year End If Next year Print s End Sub 序功能:求[100,999]之间满足以下条件的数的个数. Private Sub Command1_Click() Dim x%, a%, b%, 15 其个位数字与十位数字之和除以10所得的余数等于百c%, s%, j% Dim flag As Boolean For x = 100 To 数字;⑵该数是素数。程序中有错误。改正错误,使程999 a = x / 100 b = Int(x / 10) - a * 10 c = x 能输出正确的结果。 - a * 100 - b * 10 flag = True For j = 2 To x - 1 If x Mod j = 0 Then flag = False Exit For End If Next j If b + c Mod 10 = a And flag Then s = s + 1 End If Next x Print s End Sub 序功能:一个数出现在该数的平方数的右边,称这个数Private Sub Command1_Click() Dim x%, s% Dim y 7 “同构数”。例如,5出现在平方数25的右边,25出As Long For x = 1 To 1000 y = x ^ 2 Select Case 在平方数625的右边,则5、25都是“同构数”。求x Case 1 To 9 If x = Val(Right(Trim(Str(y)), ,1000]之间的 “同构数”的个数。 1)) Then s = s + 1 Case 10 To 99 If x = Val(Right(Trim(Str(y)), 3)) Then s = s + 1 Case 100 To 999 If x = Val(Right(Trim(Str(y)), 3)) Then s = s + 1 End case Next x Print s 序功能:求字符串“This is my Basic”所有字符的Private Sub Command1_Click() Dim s$, i% Dim 1436 II码之和。程序中有错误。改正错误,使程序能输出sum& sum = 0 s = \"This is my Basic\" For i = 1 确结果。 To s sum = sum + chr(Mid$(s, i, 1)) Next i Print sum End Sub 序功能:先分别求字符串中数字字符的ASCII码之和Private Sub Command1_Click() Dim str$, ch$ Dim 769 it,字母字符的ASCII码之和 alpha。再输出alpha-i%, digit&, alpha& digit = 0: alpha = 0 str$ = it的值。程序中有错误,改正错误,使程序能输出正\"87IM&2345kjwdssdcf\" For i = 1 To str ch = 的结果。 Mid$(str, i, 1) Select Case ch Case 0 To 9 digit = digit + Asc(ch) Case A To Z alpha = alpha + Asc(ch) Case a To z alpha = alpha + Asc(ch) End Select Next i Print alpha-digit End Sub 序功能:求四位奇数中,各位数字之和是25的倍数的Private Sub Command1_Click() Dim x%, a%, b%, 12985之和。程序中有错误,改正错误,使程序能输出正确的c%, d% Dim num1& num1 = 0 For x = 1001 To 9999 果。 a = 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 If a + b + c + d Mod 25 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub 序功能:求四位偶数中,各位数字之和是30的倍数的Private Sub Command1_Click() Dim x%, a%, b%, 28884之和。程序中有错误,改正错误,使程序能输出正确结c%, d% Dim num1& num1 = 0 For x = 1000 To 9999 。 a = 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 If a + b + c + d Mod 30 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1) Private Sub Command1_Click() Dim c%, b%, a%, 2 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)s$ s = 0 For c = 1 To 100 For b = 1 To 100 For +c<100。程序中有错误,改正错误,使程序能输出正a = 1 To 100 If a + b + c < 100 Or 1 / (a ^ 2) 的结果。 + 1 / (b ^ 2) = 1 / (c ^ 2) Then s = s + 1 Next a, b, c Print s End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1)Private Sub Command1_Click() Dim c%, b%, a%, 1 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)s$ s = 0 For c = 1 To 50 For b = 1 To 50 For a +c<50。程序中有错误,改正错误,使程序能输出正确= 1 To 50 If a + b + c < 50 Or 1 / (a ^ 2) + 1 结果。 / (b ^ 2) = 1 / (c ^ 2) Then s = s + 1 Next a, b, c Print s End Sub 序功能:求四位奇数中,所有各位数字之积(积不为Private Sub Command1_Click() Dim x%, a%, b%, 34562是60的倍数的数之和。程序中有错误,改正错误,使c%, d% Dim num1& num1 = 0 For x = 1001 To 9999 序能输出正确的结果。 a = 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 If a * b * c * d Mod 60 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub 序功能:所谓回文数是从左至右与从右至左读起来都是Private Sub Command1_Click() Dim a%, b%, c%, 1460 样的数字,如:121是一个回文数。求100~200之间所x%, s% s = 0 For x = 100 To 200 a =x / 100 b = 回文数之和。程序中有错误,改正错误,使程序能输出x / 10- a * 10 c = x - a * 100 - b * 10 If a = 确的结果。 c Then s = s + x Next Print s End Sub 序功能:求100~10000之间每位数字之和等于5的整数Private Sub Command1_Click() Dim k%, i%, i1%, 50 个数。程序中有错误,改正错误,使程序能输出正确的i2%, i3%, i4% k = 0 For i = 100 To 5000 Select 果。 Case i Case 104 To 500 i1 = Int(i / 100) i2 = Int((i - i1 * 100) / 10) i3 = i - i1 * 100 - i2 * 10 If i1 + i2 + i3 = 5 Then k = k + 1 Case 1004 To 5000 i1 = Int(i / 1000) i2 = Int((i - i1 * 1000) / 10) i3 = Int((i - i1 * 1000 - i2 * 100) / 10) i4 = i - i1 * 1000 - i2 * 100 - i3 * 10 If i1 + i2 + i3 + i4 = 5 Then k = k + 1 End case Next i Print k End Sub 序功能:求[1000,9999]之间能被7整除,且每位数字Private Sub Command1_Click() For a = 1 To 9 For 215 和等于6的整数倍的数的个数。程序中有错误,改正错b = 1 To 9 For c = 1 To 9 For d = 1 To 9 m = a ,使程序能输出正确的结果。 * 1000 + b * 100 + c * 10 + d If (a + b + c + d) Mod 6 = 0 or m Mod 7 = 0 Then n = n + 1 Next d, c, b, a Print n End Sub 序功能:某班级有学生若干名,依次编号为1,2,Private Sub Command1_Click() Dim k%, i% 'i为学37 „„,除去编号1与2的两名学生外,所有学生编号生人数,K为学生编号之和 Dim flag As Boolean k = 和是100的整数倍,如果知道学生编号之和小于0 i = 3 flag = false While flag k = k +1 If k / 0,问共有学生多少人。程序中有错误,改正错误,使100 <> Int(k / 100) Then i = i + 1 Else flag = 序能输出正确的结果。 False End If Wend Print i End Sub 序功能:某试卷由26个问题组成,答对一题得8分,Private Sub Command1_Click() Dim i%, j% 'i代表16 错一题扣5分。今有一考生虽然回答了全部26个问正确数,j代表错误数 For i = 1 To 26 j = 26 - i ,但所得总分为零,问他错答多少题。程序中有错误,If 8 * i <> 5 * j Then Print i, j Next i End 正错误,使程序能输出正确的结果。 Sub 序功能:在一个正整数序列中,第一项是1978,第二Private Sub Command1_Click() Dim k1%, k2%, i%, 2970 是1979,从第三项起每一项等于前二项的差的绝对值,k% i = 2 k1 = 1978; k2 = 1979 k = Abs(k2 - k1) 此数列有多少项。程序中有错误,改正错误,使程序能While (k2 >0) k1 = k2 k2 = k k = Abs(k2 - k1) i 出正确的结果。 = i + 1 Wend Print i End Sub 序功能:求个位数是6,且能被3整除的所有四位数之Private Sub Command1_Click() Dim i% Dim s& s = 16533。程序中有错误,改正错误,使程序能输出正确的结0 For i = 1000 To 9999 If i Mod 3 = 0 Or i Mod 。 1000 = 6 Then s = s + i End If Next i Print s End Sub 序功能:有一堆零件(零件个数不超过1000),如果Private Sub Command1_Click() Dim i%, x% For x = 4 成4个零件一组余2个;7个一组余3个; 9个一组余1 To 1000 If x Mod 4 = 2 Or x Mod 7 = 3 Or x 。求这堆零件的个数有几种可能。程序中有错误,改Mod 9 = 5 Then i = i + 1 End If Next x Print i 错误,使程序能输出正确的结果。 End Sub 序功能:求1~200之间勾股数的组数(如Private Sub Command1_Click() Dim a As Long Dim 75 +b*b=c*c,则a,b,c为一组勾股数)。程序中有错b As Long Dim c As Long Dim i As Integer i = 0 ,改正错误,使程序能输出正确的结果。 For a = 3 To 199 For b = a + 1 To 200 Step 2 For c = 5 To 200 If c ^ 2 <> a ^ 2 + b ^ 2 Then i = i + 1 End If Next c Next a Next b Print i End Sub 序功能:求这样的一个三位数,其个位数不大于2。若Private Sub Command1_Click() Dim i%, j%, k%, 102 个位数移动到百位之前(如:123移成312),新三位n%, m% For i = 1 To 9 For j = 0 To 9 For k = 1 大于原三位数的两倍。程序中有错误,改正错误,使程To 9 n = 100 * i + 10 * k + j m = 100 * k + 10 能输出正确的结果。 * j + i If n >= 2 * m Or n <= 3 * m Then Print m Next k Next j Next i End Sub 序功能:给定一个100行和100列的整数方阵,求左上Private temp Option Base 1 Private Sub 33835右下对角线上各元素之和。程序中有错误,改正错误,Command1_Click() Dim i%, j% Dim s& Dim a(100, 程序能输出正确的结果。 100) As Long s = 0 For i = 1 To 100 For j = 1 To 100 a(i, j) = i * j ‘请不要修改此行。 Next i Next j For i = 1 To 100 s = s + a(i, i) Next i Print s End Sub 序功能: 用子程序来计算12的阶乘,程序中有错误,Private Sub Command1_Click() Call n(12) End Sub 47900正错误,使程序能输出正确的结果。 Public Sub n(a As Integer) Dim i As Integer Dim f As Integer f = 0 For i = 1 To a f = f * i Next i Print f End Sub 序功能:求各位数字之积小于各位数字之和的三位数的Private Sub Command1_Click() Dim c%, x%, x1%, 199 数。程序中有错误,改正错误,使程序能输出正确的结x2%, x3% c = 0 For x = 100 To 999 x1 = x Mod 。 100 x2 = Int(x / 10) - x1 * 10 x3 = int(x/10) If x1 * x2 * x3 < x1 + x2 + x3 Then c = c + 1 End If Next x Print c End Sub 序功能:已知数列的第1、2、3项分别为0,0,1,以Private Sub Command1_Click() Print fun(10) End 23.19各项都是其相邻的前三项之和。函数 fun的功能是:Sub Private Function fun(n As Integer) As 算并输出该数列前 11项的平方根之和sum。程序中有Single Dim sum As Single Dim k%, s0%, s1%, s2% 误,改正错误,使程序能输出正确的结果。 s0 = 0: s1 = 0: s2 = 1 sum = 0 For k = 4 To n s = s0 + s1 + s2 sum = sum + Sqr(s) s1 = s0: s2 = s1: s0 = s Next k fun = sum End Function 序功能:对于一个8×8的矩阵,求其主对角线元素之Private Sub Command1_Click() '数据准备 Dim i, j 14631,程序中有2处错误,改正错误,使程序能输出正确的Dim a(8, 8) For i = 1 To 8 For j = 1 To 8 a(i, 果。 j) = i * j + i Next j, i '数据准备 diag(a, 8) 序功能:利用函数pd计算1~2000之间能被17和37整的数之和。程序中有错误,改正错误,使程序能输出正的结果。 序功能:利用函数pd计算1~5000之间能被17和37整的数的个数。程序中有错误,改正错误,使程序能输出确的结果。 序功能:求大于数组元素平均值的数组元素的个数。程中有错误,改正错误,使程序能输出正确的结果。 序功能:求S=1+1/2+1/3+„„+1/100,程序中有两行误。改正错误,使它能输出正确的结果。 序功能:求共有几组i、j、k符合算式+kji=1333,其中i、j、k是0~9之间的一位整数。程中有错误。改正错误,使它能输出正确的结果。 序功能:求共有几组i、j、k符合算式+kji=1534,其中i、j、k是0~9之间的一位整数。程中有错误。改正错误,使它能输出正确的结果。 序功能:求所有符合算式ij*ji=1300的最小数ij。其、j是1~9之间的一位整数。 程序中有两类错误。改错误,使它能输出正确的结果。 序功能:求所有符合算式ij*ji=1300的最大数ij。其、j是1~9之间的一位整数。程序中有两类错误。改错误,使它能输出正确的结果。 End Sub Private Sub diag(a, n) Dim sum, i sum = 0 For i = 1 To n sum = sum * a(i, i) Next i Print sum End Sub Private Sub Command1_Click() Dim i As Integer 3774 Dim s As Long s = 0 For i = 1 To 2000 If pd(i) Then s = s + i Next i Print s End Sub Private Function pd(x As Integer) As Boolean If x Mod 17 = 0 Or x Mod 37 = 0 Then pd = True Else pd = False End If End Function Private Sub Command1_Click() Dim i As Integer 7 Dim s As Integer s = 0 For i = 1 To 5000 If pd(i) Then s = s + 1 Next i Print s End Sub Private Function pd(x As Integer) As Boolean If x Mod 17 = 0 Or x Mod 37 = 0 Then pd = True Else pd = False End If End Function Private Sub Command1_Click() '数据准备 Dim 50 a(100) Dim i For i = 1 To 100 a(i) = i * 10 + 5 Next i '数据准备 Sum = 0 For i = 1 To 100 Sum = Sum + a(i) Next i ave = Sum / 100 For i = 1 To 100 If a(i) > ave Then c = c + a(i) Next i Print c End Sub Private Sub Command1_Click() sum1 = sumd(100) 5.187Print sum1 End Sub Private Function sumd(n As Integer) As Single i=0 Do i = i + 1 s = s + 1 / i Loop Until i < n sumf = s End Function Private Sub Command1_Click() Dim i As Integer 6 Dim j As Integer Dim k As Integer Dim n As Integer n = 0 For i = 0 To 9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 1333 Then n = n + 1 End If Next k Next j Next i Print n End Sub Private Sub Command1_Click() Dim i As Integer 5 Dim j As Integer Dim k As Integer Dim n As Integer n = 0 For i = 0 To 9 For j = 0 To 9 For k = 0 To 9 If ijk+kji = 1534 Then n = n + 1 End If Next k Next j Next i Print n End Sub Private Sub Command1_Click() Dim i As Integer 25 Dim j As Integer For i = 1 To 9 For j = 1 To 9 If ij*ji = 1300 Then Print 10 * i + j Exit For End If Next i If ij*ji = 1300 Then Exit For End If Next j End Sub Private Sub Command1_Click() Dim i As Integer 52 Dim j As Integer For i = 9 To 1 For j = 9 To 1 If ij+ji= 1300 Then Print 10 * i + j Exit For End If Next j If ij+ji = 1300 Then Exit For End If Next i End Sub 序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一Private Sub Command1_Click() s = 0 cock = 1 Do 3 五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几While cock <= 100 / 5 hen = 1 Do While hen <= 买法(要求每种鸡至少要买1只)。程序中有错误。改正100 / 3 - cock chick = 100 - cock - hen If cock 误,使它能输出正确的结果。 + hen + chick = 100 Then s = s + 1 End If hen = hen + 1 Loop cock = cock + 1 Loop Print s End Sub 序功能:回文数是指正读和反读都一样的正整数。例如Private Sub Command1_Click() n = 0 For x = 1000 50 3是回文数。求[1000,9999]之间的奇数回文数的个To 9999 a = Int(x / 1000) b = Int(x / 100) - a 。程序中有错误。改正错误,使它能输出正确的结果。 * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a = b Or d = c And x Mod 2 <> 0 Then n = n + 1 End If Next x Print n End Sub 序功能:求各位数字的平方和为100,且能被3整除的Private Sub Command1_Click() Dim a As Integer 24 位数的个数。 程序中有错误。改正错误,使它能输出Dim b As Integer Dim c As Integer Dim d As 确的结果。 Integer Dim x As Integer Dim n As Integer n = 0 For x = 1000 To 9999 a = Int(x / 1000) b = Int(x / 100) - a * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = 100 And Mod(x,3) = 0 Then n = n + 1 End If Next x Print n End Sub 序功能:用公式pi/4=1-1/3+1/5-1/7+„求pi(pi为圆Private Sub Command1_Click() Print 3.139率)的近似值。 程序中有错误,改正错误,使它能输出Format(fun(500), \"#.######\") End Sub Private 确的结果。 Function fun(n As Integer) As Integer Dim i As Integer Dim pi As Single pi = 0 For i = 1 To n pi = pi + (-1) ^ (n - 1) / (2 * i - 1) Next i fun = pi * 4 End Function 序功能:求[3333,6666]之间所有能被5和7整除的数Private Sub Command1_Click() Dim n As Integer 95 个数。程序中有错误。改正错误,使它能输出正确的结Dim x As Integer n = 0 x = 3333 While x <= 6666 。 If x Mod 5 = 0 Or Mod 7 = 0 Then n = n + 1 End If x = x + 1 Loop Print n End Sub 序功能:求 [200,300]之间的有奇数个不同因子的最大Private Sub Command1_Click() Dim x As Integer 289 数。程序中有错误。改正错误,使它能输出正确的结Dim i As Integer Dim n As Integer For x = 300 。 To 200 n = 0 For i = 1 To x If x Mod i = 0 Then n = n + 1 End If Next i If n / 2 <> 0 Then Print x Exit For End If Next x End Sub 序功能:求在[10,1000]之间的所有完数之和。各真因Private Sub Command1_Click() Dim sum As Integer 524 之和(不包括自身)等于其本身的正整数称为完数。例Dim x As Integer, k As Integer Dim i As Integer :6=1+2+3,6是完数。程序中有错误。改正错误,使sum = 0 For x = 10 To 1000 k = x For i = 1 To x 能输出正确的结果。 If x Mod i = 0 Then x = x - i End If Next i If k = 0 Then sum = sum + x End If Next x Print sum End Sub 序功能:一个数出现在该数的平方数的右边,称这个数Private Sub Command1_Click() S=0 For x = 1 To 1114 “同构数”。例如,5出现在平方数25的右边,25出1000 y = Len(Trim(Str(x))) i = x * x Select y 在平方数625的右边,则5、25都是“同构数”。求Case 1 If x = Val(Right(Trim(Str(i)), 1)) Then ,1000]之间的所有“同构数”之和。程序中有错误,s = s + x End If Case 2 If x = 正错误,使程序能输出正确的结果。 Val(Right(Trim(Str(i)), 2)) Then s = s + x End If Case 3 If x = Val(Right(Trim(Str(i)), 3)) Then s = s + x End If Case 4 If x = Val(Right(Trim(Str(i)), 4)) Then s = s + x End If End Select Next x Print s End Sub 序功能:按以下递归公式求函数的值。程序中有错误,Private Sub Command1_Click() Print fun(10) End 28 正错误,使它能输出正确结果。 n=1时 fun(n)=10 Sub Private Function fun(n As Integer) As 时 fun(n)=fun(n-1)+2 Integer Dim c As Integer If n = 1 Then c = 10 Else c = fun(n - 1) + 2 End If Fun1 = c End Function 序功能:求这样的一个三位数,其个位数不大于2。若Private Sub Command1_Click() For i = 0 To 9 For 102 个位数移动到百位之前(如:321移成132),新三位j = 0 To 9 For k = 0 To 9 n = 100 * i + 10 * j 大于原三位数的两倍。程序中有错误,改正错误,使程+ k m = 100 * k + 10 * i + j If m >= 2 * n Then 能输出正确的结果。 Print n Next k Next j Next i End Sub 序功能:计算两个数的最大公约数。程序中有错误,改Private Sub Command1_Click() Print fun(1248, 8 错误,使程序能输出正确结果。 25736) End Sub Private Function fun(u%, v%) As Integer Dim temp%, t% If u < v Then temp = u: u = v: v = temp End If While (v <> 0) t = u %v u = v v = t Wend fun =t End Function 序功能:求1900年~2003年之间所有闰年年号之和。Private Sub Command1_Click() Dim year% For year 48800正错误,使程序能输出正确的结果。(年号能被400整= 1900 To 2003 If (year Mod 400 = 0) and (year 的是闰年,或者被4整除但不能被100整除的是闰年) Mod 4 = 0 Or year Mod 100 <> 0) Then s = s + year End If Next year Print s End Sub 序功能:一个数出现在该数的平方数的右边,称这个数Private Sub Command1_Click() S=0 For x = 1 To 1114 “同构数”。例如,5出现在平方数25的右边,25出1000 y = Len(Trim(Str(x))) i = x * x Select y 在平方数625的右边,则5、25都是“同构数”。求Case 1 If x = Right(Trim(Str(i)), 1) Then s = s ,1000]之间的所有“同构数”之和。程序中有错误,+ x End If Case 2 If x = 正错误,使程序能输出正确的结果。 Val(Right(Trim(Str(i)), 2)) Then s = s + x End If Case 3 If x = Val(Right(Trim(Str(i)), 3)) Then s = s + x End If Case 4 If x = Val(Right(Trim(Str(i)), 4)) Then s = s + x End If End Select Next x Print s End Sub 序功能:求1900年~2003年之间所有非闰年年号之Private Sub Command1_Click() Dim year% For year 15415。改正错误,使程序能输出正确的结果。(年号能被= 1900 To 2003 If (year Mod 400 = 0) and (year 整除的是闰年,或者被4整除但不能被100整除的是Mod 4 = 0 Or year Mod 100 <> 0) Then s = s + 年) year End If Next year Print s End Sub 序功能:求[100,999]之间满足以下条件的数的个数. Private Sub Command1_Click() Dim x%, a%, b%, 15 其个位数字与十位数字之和除以10所得的余数等于百c%, s%, j% Dim flag As Boolean For x = 100 To 数字;⑵该数是素数。程序中有错误。改正错误,使程999 a = x / 100 b = Int(x / 10) - a * 10 c = x 能输出正确的结果。 - a * 100 - b * 10 flag = True For j = 2 To x - 1 If x Mod j = 0 Then flag = False Exit For End If Next j If b + c Mod 10 = a And flag Then s = s + 1 End If Next x Print s End Sub 序功能:一个数出现在该数的平方数的右边,称这个数Private Sub Command1_Click() Dim x%, s% Dim y 7 “同构数”。例如,5出现在平方数25的右边,25出As Long For x = 1 To 1000 y = x ^ 2 Select Case 在平方数625的右边,则5、25都是“同构数”。求x Case 1 To 9 If x = Val(Right(Trim(Str(y)), ,1000]之间的 “同构数”的个数。 1)) Then s = s + 1 Case 10 To 99 If x = Val(Right(Trim(Str(y)), 3)) Then s = s + 1 Case 100 To 999 If x = Val(Right(Trim(Str(y)), 3)) Then s = s + 1 End case Next x Print s 序功能:求字符串“This is my Basic”所有字符的Private Sub Command1_Click() Dim s$, i% Dim 1436 II码之和。程序中有错误。改正错误,使程序能输出sum& sum = 0 s = \"This is my Basic\" For i = 1 确结果。 To s sum = sum + chr(Mid$(s, i, 1)) Next i Print sum End Sub 序功能:程序功能:设某四位数的千位数字与十位数字Private Sub Command1_Click() Dim a As Integer 10782和等于百位数字与个位数字的积,例如,对于四位数:Dim b As Integer Dim c As Integer Dim d As 2,9+1=5*2,求所有这样的四位数之和。程序中有错Integer Dim x As Integer Dim sum As Integer sum 。改正错误,使它能输出正确的结果。 = 0 For x = 1000 To 9999 a = Int(x / 1000) b = Int(x / 100) - a * 100 c = Int(x / 10) - a * 100 - b * 10 d = x - a * 1000 - b * 100 - c * 10 If a + c = b * d Then sum = sum + x End If Next x Print sum End Sub 序功能:求四位奇数中,各位数字之和是25的倍数的Private Sub Command1_Click() Dim x%, a%, b%, 12985之和。程序中有错误,改正错误,使程序能输出正确的c%, d% Dim num1& num1 = 0 For x = 1001 To 9999 果。 a = 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 If a + b + c + d Mod 25 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub 序功能:求四位偶数中,各位数字之和是30的倍数的Private Sub Command1_Click() Dim x%, a%, b%, 28884之和。程序中有错误,改正错误,使程序能输出正确结c%, d% Dim num1& num1 = 0 For x = 1000 To 9999 。 a = 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 If a + b + c + d Mod 30 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1) Private Sub Command1_Click() Dim c%, b%, a%, 2 a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)s$ s = 0 For c = 1 To 100 For b = 1 To 100 For +c<100。程序中有错误,改正错误,使程序能输出正a = 1 To 100 If a + b + c < 100 Or 1 / (a ^ 2) 的结果。 + 1 / (b ^ 2) = 1 / (c ^ 2) Then s = s + 1 Next a, b, c Print s End Sub 序功能:求满足以下条件的(a,b,c)的组数:(1)a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)+c<50。程序中有错误,改正错误,使程序能输出正确结果。 序功能:求四位奇数中,所有各位数字之积(积不为是60的倍数的数之和。程序中有错误,改正错误,使序能输出正确的结果。 序功能:所谓回文数是从左至右与从右至左读起来都是样的数字,如:121是一个回文数。求100~200之间所回文数之和。程序中有错误,改正错误,使程序能输出确的结果。 序功能:求100~10000之间每位数字之和等于5的整数个数。程序中有错误,改正错误,使程序能输出正确的果。 序功能:求[1000,9999]之间能被7整除,且每位数字和等于6的整数倍的数的个数。程序中有错误,改正错,使程序能输出正确的结果。 序功能:把一张一元钞票,换成一分、二分和五分硬币,种至少8枚, 求方案数。程序中有错误。改正错误,使能输出正确的结果。 序功能:求[3-1000]之间最大的五个素数之和。程序中错误。改正错误,使它能输出正确的结果。 Private Sub Command1_Click() Dim c%, b%, a%, 1 s$ s = 0 For c = 1 To 50 For b = 1 To 50 For a = 1 To 50 If a + b + c < 50 Or 1 / (a ^ 2) + 1 / (b ^ 2) = 1 / (c ^ 2) Then s = s + 1 Next a, b, c Print s End Sub Private Sub Command1_Click() Dim x%, a%, b%, 34562c%, d% Dim num1& num1 = 0 For x = 1001 To 9999 a = 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 If a * b * c * d Mod 60 = 0 Then num1 = num1 + x End If Next x Print num1 End Sub Private Sub Command1_Click() Dim a%, b%, c%, 1460 x%, s% s = 0 For x = 100 To 200 a =x / 100 b = x / 10- a * 10 c = x - a * 100 - b * 10 If a = c Then s = s + x Next Print s End Sub Private Sub Command1_Click() Dim k%, i%, i1%, 50 i2%, i3%, i4% k = 0 For i = 100 To 5000 Select Case i Case 104 To 500 i1 = Int(i / 100) i2 = Int((i - i1 * 100) / 10) i3 = i - i1 * 100 - i2 * 10 If i1 + i2 + i3 = 5 Then k = k + 1 Case 1004 To 5000 i1 = Int(i / 1000) i2 = Int((i - i1 * 1000) / 10) i3 = Int((i - i1 * 1000 - i2 * 100) / 10) i4 = i - i1 * 1000 - i2 * 100 - i3 * 10 If i1 + i2 + i3 + i4 = 5 Then k = k + 1 End case Next i Print k End Sub Private Sub Command1_Click() For a = 1 To 9 For 215 b = 1 To 9 For c = 1 To 9 For d = 1 To 9 m = a * 1000 + b * 100 + c * 10 + d If (a + b + c + d) Mod 6 = 0 or m Mod 7 = 0 Then n = n + 1 Next d, c, b, a Print n End Sub Private Sub Command1_Click() Dim x As Integer 80 Dim y As Integer Dim z As Integer Dim n As Integer n = 0 For x = 1 To 100 For y = 8 To 50 For z = 8 To 20 If x + y + z = 100 Then n = n + 1 End If Next z Next y Next x Print n End Sub Private Sub Command1_Click() Dim x As Integer 4919 Dim sum As Integer Dim i As Integer Dim flag As Boolean Dim n As Integer n = 0 sum = 0 x = 1000 Do flag = True For i = 2 To x - 1 If x Mod i = 0 Then flag = False Exit Do End If Next i If flag Then sum = sum + x n = n + 1 If n = 5 Then Exit Do End If End If x = x - 1 Loop While x<= 3 Print sum End Sub 序功能:求个位数是6,且能被3整除的所有四位数之Private Sub Command1_Click() Dim i% Dim s& s = 16533。程序中有错误,改正错误,使程序能输出正确的结0 For i = 1000 To 9999 If i Mod 3 = 0 Or i Mod 。 1000 = 6 Then s = s + i End If Next i Print s End Sub 序功能:有一堆零件(零件个数不超过1000),如果Private Sub Command1_Click() Dim i%, x% For x = 4 成4个零件一组余2个;7个一组余3个; 9个一组余1 To 1000 If x Mod 4 = 2 Or x Mod 7 = 3 Or x 。求这堆零件的个数有几种可能。程序中有错误,改Mod 9 = 5 Then i = i + 1 End If Next x Print i 错误,使程序能输出正确的结果。 End Sub 序功能:求[2,500]之间的所有素数之和。改正错误,Private Sub Command1_Click() Dim x As Integer 21534它能输出正确的结果。 Dim flag As Boolean Dim sum As Long Dim i As Integer sum = 0 For x = 3 To 500 flag = True For i = 2 To x - 1 If x Mod i = 0 Then flag = False Exit For End If Next i If not flag Then sum = sum + x End If Next x Print sum End Sub 序功能:求这样的一个三位数,其个位数不大于2。若Private Sub Command1_Click() Dim i%, j%, k%, 102 个位数移动到百位之前(如:123移成312),新三位n%, m% For i = 1 To 9 For j = 0 To 9 For k = 1 大于原三位数的两倍。程序中有错误,改正错误,使程To 9 n = 100 * i + 10 * k + j m = 100 * k + 10 能输出正确的结果。 * j + i If n >= 2 * m Or n <= 3 * m Then Print m Next k Next j Next i End Sub 序功能:计算1000以内,既能被6整除又能被8整除Private Sub Command1_Click() Dim n As Integer 41 数的个数。程序中有错误。改正错误,使它能输出正确Dim x As Integer x = 1 n = 0 Do While x <= 1000 结果。 If x Mod 6 = 0 Or x Mod 8 = 0 Then n = n + 1 End case x = x + 1 Loop Print n End Sub 序功能:有一个三位数满足下列条件: (1)三位数字各Private Sub Command1_Click() Dim x As Integer 4 相同; (2)此数等于它的各位数字的立方和。求这种三Dim a As Integer Dim b As Integer Dim c As 数的个数。程序中有错误。改正错误,使它能输出正确Integer Dim n As Integer n = 0 x = 100 Do While 结果。 x>= 999 a = Int(x / 100) b = Int(x / 10) - a * 10 c = x - a * 100 - b * 10 If a <> c Or b <> c Or a <> b Or x = a ^ 3 + b ^ 3 + c ^ 3 Then n = n + 1 End If x = x + 1 Loop Print n End Sub 序功能: 建立一个过程来计算12的阶乘,程序中有错Private Sub Command1_Click() Call n(12) End Sub 47900,改正错误,使程序能输出正确的结果。 Public Sub n(a As Integer) Dim i As Integer Dim f As Integer f = 0 For i = 1 To a f = f * i Next i Print f End Sub 序功能:求各位数字之积小于各位数字之和的三位数的Private Sub Command1_Click() Dim c%, x%, x1%, 199 数。程序中有错误,改正错误,使程序能输出正确的结x2%, x3% c = 0 For x = 100 To 999 x1 = x Mod 。 100 x2 = Int(x / 10) - x1 * 10 x3 = int(x/10) If x1 * x2 * x3 < x1 + x2 + x3 Then c = c + 1 End If Next x Print c End Sub 序功能:求一维数组a中数组元素的最大值。程序中有Private Sub Command1_Click() Dim max As Double 0.433误,改正错误,使程序能输出正确的结果。 Option Dim i% Dim a(100) As Double For i = 1 To 100 e 1 a(i) = Sin(i * 3.14159 / 3) * Cos(i * 3.14159 / 3) '该行不要修改 Next i max = a(1) For i = 2 To 100 If max < a(i) Then a(i)=max Next i Print Format(max, \"0.#####\") '该行不要修改 End Sub 序功能:求一维数组a中数组元素的最小值。程序中有Private Sub Command1_Click() Dim i% Dim a(100) 9.165误,改正错误,使程序能输出正确的结果。 Option As Double Dim min As Double For i = 1 To 100 e 1 a(i) = Sqr(i) * Cos(i * 3.14159 / 12) '该行不要修改 Next i min = a(1) For i = 2 To 100 If min > a(i) Then a(i)=min Next i Print Format(min, \"#.#####\") '该行不要修改 End Sub 序功能:已知数列的第1、2、3项分别为0,0,1,以Private Sub Command1_Click() Print fun(10) End 23.19各项都是其相邻的前三项之和。函数 fun的功能是:Sub Private Function fun(n As Integer) As 算并输出该数列前 11项的平方根之和sum。程序中有Single Dim sum As Single Dim k%, s0%, s1%, s2% 误,改正错误,使程序能输出正确的结果。 s0 = 0: s1 = 0: s2 = 1 sum = 0 For k = 4 To n s = s0 + s1 + s2 sum = sum + Sqr(s) s1 = s0: s2 = s1: s0 = s Next k fun = sum End Function 序功能:已知24有8个正整数因子Private Sub Command1_Click() Dim N As Integer 296 :1,2,3,4,6,8,12,24),而24正好被其因子个数8整Dim s As Integer Dim i As Integer For N = 300 。求[100,300]之间能被其因子数目整除的数中最大的To 100 s = 0 For i = 1 To N If N Mod i = 0 Then 。程序中有错误。改正错误,使它能输出正确的结果。 s = s + 1 End If Next i If s Mod N = 0 Then Print N Exit For End If Next N End Sub 序功能:利用函数pd计算1~2000之间能被17和37整Private Sub Command1_Click() Dim i As Integer 3774 的数之和。程序中有错误,改正错误,使程序能输出正Dim s As Long s = 0 For i = 1 To 2000 If pd(i) 的结果。 Then s = s + i Next i Print s End Sub Private Function pd(x As Integer) As Boolean If x Mod 17 = 0 Or x Mod 37 = 0 Then pd = True Else pd = False End If End Function 序功能:利用函数pd计算1~5000之间能被17和37整Private Sub Command1_Click() Dim i As Integer 7 的数的个数。程序中有错误,改正错误,使程序能输出Dim s As Integer s = 0 For i = 1 To 5000 If 确的结果。 pd(i) Then s = s + 1 Next i Print s End Sub Private Function pd(x As Integer) As Boolean If x Mod 17 = 0 Or x Mod 37 = 0 Then pd = True Else pd = False End If End Function 序功能:求[444,666]之间最大的素数是多少?程序中Private Sub Command1_Click() Dim x As Integer 661 错误。改正错误,使它能输出正确的结果。 Dim i As Integer For x = 666 To 444 k = Int(Sqr(x)) For i = 2 To k If x Mod i = 0 Then Exit Do End If Next i If i > k Then Print x Exit For End If Next x End Sub 辆以固定速度行驶的汽车,司机看到里程表上从左到右Private Sub Form_Click() Dim m As Long Dim n As 50 读数和从右到左的读数是相同的,这个数是12321(公Long Dim a(0 To 4) As Byte m = 12321 n = m Do n ,2小时后,里程表上再次出现一个新的对称数。问= n + 1 For i = 0 To 4 a(i) = n \\ 10 ^ i Mod 10 的速度是多少公里/小时? Next i _______________ Print (n - m) / 2 End Sub 人围成一圈(编号为1-n),从第1号的人开始从1报Private Sub Form_Click() Const OUT As Integer = 11 ,凡报到3的倍数的人离开圈子,然后再数下去,直到-1 Dim n As Integer,m As Integer,i As 后只剩一个人为止。问当n=17时,剩下的人是多少? Integer,num1 As Integer,num2 As Integer Dim a() As Integer n = 17 m = 3 ReDim a(n) For i = 1 To n a(i) = i Next num1 = 0 Do For i = 1 To n If a(i) <> OUT Then Num1 = num1 + 1 If num1 Mod m = 0 Then num2 = num2 + 1 If num2 = n Then Print a(i); Exit Do End If ________________ End If End If Next i Loop End Sub 人围成一圈(编号为1-n),从第1号的人开始从1报Private Sub Form_Click() Const OUT As Integer = 19 ,凡报到3的倍数的人离开圈子,然后再数下去,直到-1 Dim n As Integer,m As Integer,i As 后只剩一个人为止。问当n=37时,剩下的人是多少Integer,num1 As Integer,num2 As Integer Dim a() ? As Integer n = 37 m = 3 ReDim a(n) For i = 1 To n a(i) = i Next num1 = 0 Do For i = 1 To n If a(i) <> OUT Then Num1 = num1 + 1 If num1 Mod m = 0 Then num2 = num2 + 1 If num2 = n Then Print a(i); Exit Do End If ________________ End If End If Next i Loop End Sub 数列f(n) = n*n+n+41的前100项中素数的个数 Private Sub Form_click() num = 0 For n = 1 To 86 100 fn = n * n + n + 41 flag = 1 For m = 2 To Sqr(fn) If ________________ Then flag = 0 Exit For End If Next If flag = 1 Then num = num + 1 End If Next n Print num End Sub 整数123456的质因子个数。如72=2*2*2*3*3,则因Private Sub Form_Click() Dim n As Long Dim m As 8 个数为5。 Long Dim num As Long n = 123456 m = 2 While (m <= n) If (n Mod m = 0) Then num = num + 1 ________________ Else m = m + 1 End If Wend Print num End Sub 4738和24894的最大公约数。 Private Sub Form_click() Dim a As Integer Dim b 6 As Integer Dim i As Integer Dim t As Integer a = 24738 b = 24894 If a > b Then t = a: a = b: b = t i = a Do While _______________________________ i = i - 1 Loop Print i End Sub 4738和24894的最小公倍数。 Private Sub Form_click() Dim a As Integer Dim b 10263As Integer Dim i As Long a = 24738 b = 24894 i = a Do While ________________________________ i = i + a Loop Print i End Sub 1000,20000]之间最大的素数 Private Sub Form_Click() Dim n As Long Dim flag 19997As Boolean n = 20000 Do flag = True For m = 2 To Sqr(n) If n Mod m = 0 Then ________________ Exit For End If Next If Not flag Then n = n - 1 End If Loop Until flag Print n End Sub 5000,6000]之间最小的素数 Private Sub Form_Click() Dim n As Integer Dim m 5003 As Integer Dim nIsPrime As Boolean For n = 5000 8000,9000]之间最小的素数 2345最大的质因子 2349的最小质因子。 兵在演练过程中,队伍变换成10、21、35、60行时,形都能成为矩形。问参加演练的士兵最少有多少人? 兵在演练过程中,队伍变换成10、22、33、60行时,形都能成为矩形。问参加演练的士兵最少有多少人? 年龄。用爷爷的年龄的5倍加6得的和,再乘以20,加上奶奶的年龄,再减去365,得数为6924,又知爷爷奶奶大2岁。求爷爷、奶奶的年龄的和。 会上一共有1225次握手,设每一位参加宴会的人对其与会人士都有一样的礼节,那么与会人士有多少? +b+c+d=100,且a+4=b-4=c*4=d/4=m,求m。 To 6000 ________________ For m = 2 To Sqr(n) If n Mod m = 0 Then nIsPrime = False Exit For End If Next If nIsPrime Then Print n Exit For End If Next End Sub Private Sub Form_Click() Dim n As Integer Dim m 8009 As Integer Dim nIsPrime As Boolean For n = 4000 To 5000 ________________ For m = 2 To Sqr(n) If n Mod m = 0 Then nIsPrime = False Exit For End If Next If nIsPrime Then Print n Exit For End If Next End Sub Private Sub Form_Click() Dim n As Integer Dim m 823 As Integer n = 12345 m = n Do If ________________________________ Then Print m Exit Do Else m = m - 1 End If Loop End Sub Function IsPrime(n As Integer) As Boolean Dim flag As Boolean flag = True For i = 2 To Sqr(n) If n Mod i = 0 Then flag = False Exit For End If Next IsPrime = flag Private Sub Form_Click() Dim n As Integer Dim m 53 As Integer n = 12349 m = 2 Do If ________________________________ Then Print m Exit Do Else m = m + 1 End If Loop End Sub Function IsPrime(n As Integer) As Boolean Dim flag As Boolean flag = True For i = 2 To Sqr(n) If n Mod i = 0 Then flag = False Exit For End If Next IsPrime = flag Private Sub Form_Click() Dim a%, b%, c%, d%, n% 420 a = 10 b = 21 c = 35 d = 60 n = 60 Do While ________________________________ n = n + 1 Loop Print n End Sub Private Sub Form_Click() Dim a, n%, max, r a = 660 Array(10, 22, 33, 60) max = a(0) For i = 1 To 3 If max < a(i) Then max = a(i) Next i n = max Do r = 0 For i = 0 To 3 r = r + n Mod a(i) Next i If r = 0 Then Exit Do End If _______________ Loop Print n End Sub Private Sub Form_Click() For a = 1 To 200 For b 140 = 1 To 200 If ________________________________ Then Print a + b End If Next b Next a End Sub Private Sub Form_Click() Dim n As Long n = 1225 50 Do n = n - 1 ________________ Print n End Sub Private Sub Form_Click() m = 0 Do m = m + 4 a = 16 m - 4 b = m + 4 c = m / 4 d = m * 4 7090,21672,11352,8127的最大公约数。 Option e 1 75,240,360的最小公倍数。 Option Base 1 星和地球在某一时刻相对于太阳处于某一确定位置,已金星绕太阳一周为225日,地球绕太阳一周为365日,两个行星至少经过多少日仍同时回到原来的位置上? 表达式e^x ≈1+x+x^2/2!+x^3/3!+x^4/4!„„n/n!的近似值,设x=9,n=25; 表达式e^x ≈1+x+x^2/2!+x^3/3!+x^4/4!„„n/n!的近似值,直到最后一项小于0.01为止;设x=in(x)≈x-x^3/3!+x^5/5!-„„+(-1)^(n-________________________________ Print m End Sub Private Function Divisor(ByVal m As Long, ByVal 129 n As Long) As Long Dim t As Long Dim r As Long If m < n Then t = m: m = n: n = t Do r = m Mod n m = n n = r Loop Until r = 0 Divisor = m End Function Private Sub Form_Click() Dim a, gcd&, i As Byte a = Array(27090, 21672, 11352, 8127) gcd = a(1) For i = 1 To UBound(a) gcd =________________ Next Print gcd End Sub Private Function Divisor(ByVal m As Long, ByVal 25200n As Long) As Long Dim t As Long Dim r As Long If m < n Then t = m: m = n: n = t Do r = m Mod n m = n n = r Loop Until r = 0 Divisor = m End Function Private Function Multiple(ByVal m As Long, ByVal n As Long) As Long Multiple = ________________________________ End Function Private Sub Form_Click() Dim a Dim lcm& Dim i As Byte a = Array(175, 240, 360) lcm = a(1) For i = 1 To UBound(a) lcm =Multiple(lcm, a(i)) Next Print lcm End Sub Private Sub Form_Click() Dim m0&, n0& Dim m As 1642 Long Dim n As Long Dim r As Long m0 = 365 n0 = 225 m = m0 n = n0 r = m Mod n While ________________ m = n n = r r = m Mod n Wend Print m0 * n0 / n End Sub Private Sub Form_click() '用e^x ≈1+x+8103.x^2/2!+x^3/3!+x^4/4!„„+x^n/n! Dim n As Integer, x As Integer Dim i As Integer Dim xpower As Single Dim y As Single x = Val(InputBox(\"请输入x:\")) n = Val(InputBox(\"请输入n:\")) y = 1 factor = 1 For i = 1 To n factor = factor * i xpower = x ^ i ________________________________ Next i Print y End Sub Private Sub Form_click() 'e^x ≈1+x+8103.x^2/2!+x^3/3!+x^4/4!„„+x^n/n! Dim x As Integer, i As Integer Dim xpower As Single Dim z As Single Dim y As Single x = Val(InputBox(\"请输入x:\")) i = 1 z = 1 y = 1 factor = 1 Do While z > 0.01 factor = factor * i xpower = x ^ i ________________ y = y + z i = i + 1 Loop Print y End Sub Private Sub Form_click() Dim n As Integer, x As 0.656(x^(2n-1))/(2n-1)!的公式求近似值。设x=7,n=。 Integer Dim i As Integer Dim xpower As Single Dim y As Single x = Val(InputBox(\"请输入x:\")) n = Val(InputBox(\"请输入n:\")) y = 0 For i = 1 To n factor = 1 For j = 1 To 2 * i - 1 factor = factor * j Next j xpower = x ^ (2 * i - 1) ________________________________ Next i Print format(y, \"0.#######\") End Sub in(x)≈x-x^3/3!+x^5/5!-„„+(-1)^(n-Private Sub Form_click() Dim x As Integer, i As 0.656(x^(2n-1))/(2n-1)!的公式求近似值,直到最后一项Integer Dim xpower As Single Dim y As Single x 对值小于0.00001为止。设x=7。 = Val(InputBox(\"请输入x:\")) i = 0 z = 1 y = 0 Do While Abs(z) > 0.00001 factor = 1 i = i + 1 For j = 1 To 2 * i - 1 factor = factor * j Next j xpower = x ^ (2 * i - 1) ________________________________ y = y + z Loop Print format(y, \"0.#######\") End Sub os(x)≈1-x^2/2!+x^4/4!-„„+(-Private Sub Form_click() Dim n As Integer, x As -0.91(n)*(x^(2n))/(2n)!的公式求近似值,设x=9,n=Integer Dim i As Integer Dim xpower As Single Dim y As Single x = Val(InputBox(\"请输入x:\")) n = Val(InputBox(\"请输入n:\")) y = 1 For i = 1 To n factor = 1 For j = 1 To 2 * i factor = factor * j Next j xpower = x ^ (2 * i) ________________________________ Next i Print format(y, \"0.######\") End Sub os(x)≈1-x^2/2!+x^4/4!-„„+(-Private Sub Form_click() Dim x As Integer, i As 0.753(n)*(x^(2n))/(2n)!的公式求近似值,直到最后一项Integer Dim xpower As Single Dim y As Single x 对值小于0.00001为止。设x=7。 = Val(InputBox(\"请输入x:\")) i = 0 z = 1 y = 1 Do While Abs(z) > 0.00001 factor = 1 i = i + 1 For j = 1 To 2 * i factor = factor * j Next j xpower = x ^ (2 * i) ________________________________ y = y + z Loop Print format(y, \"0.######\") End Sub 知Sn=A1+A2+A3+...+An, 其中,当n为奇数时An=n-1,Private Sub Form_click() Dim i As Integer Dim t 1830 为偶数时,An=n+1.例如:S6=0+3+2+5+4+7, 求:As Integer Dim a As Integer i = 1 t = 0 Do =A1+A2+A3+...+A60. While i <= 60 If i Mod 2 = 0 Then ________________ Else a = i - 1 End If t = t + a i = i + 1 Loop Print t End Sub 知数组S(x)中数组元素的值与Sin(x)一一对应,1=< Private Sub Form_click() Dim s(100) As Single -0.13 Dim k As Integer Dim j As Integer For k = 1 To 100 s(k) = Sin(k) Next k For k = 1 To 99 For j = 1 To 100 - k If s(j) > s(j + 1) Then ________________________________ End If Next j Next k Print format(s(47), \"0.#######\") End Sub 知数组S(x)中数组元素的值与Cos(x)一一对应,1=< Private Sub Form_click() Dim s(100) As Single -0.01 Dim k As Integer Dim j As Integer For k = 1 To 100 s(k) = Cos(k) Next k For k = 1 To 99 For j = 1 To 100 - k If s(j) > s(j + 1) Then ________________________________ End If Next j Next k Print Format(s(50), \"0.###\") End Sub 知数组S(x)中数组元素的值与Cos(x)一一对应,Private Sub Form_click() Dim s(101 To 200) As -0.04=< td> Single Dim k As Integer Dim j As Integer For k = 101 To 200 s(k) = Cos(k) Next k For k = 101 To 199 For j = k + 1 To 200 If s(k) > s(j) Then ________________________________ End If Next j Next k Print Format(s(150), \"0.###\") End Sub 知数组S(x)中数组元素的值与Sin(x)一 一对应,Private Sub Form_click() Dim s(101 To 200) As -0.04=< td> Single Dim k As Integer Dim j As Integer For k = 101 To 200 s(k) = Sin(k) Next k For k = 101 To 199 For j = k + 1 To 200 If s(k) > s(j) Then ________________________________ End If Next j Next k Print s Format(s(150), \"0.###\") End Sub 在 1,2,3,...,100中, 任选两个不同的数,要求它们的Private Sub Form_click() Dim n As Integer Dim k 236 能被3和7整除的数的对数(注意:3+5和5+3认为是同As Integer n = 0 k = 1 Do While k <= 100 j = 1 对数)。 Do While j < k If ________________________________Then n = n + 1 j = j + 1 Loop k = k + 1 Loop Print n End Sub 在 1,2,3,...,100中, 任选两个不同的数,它们的和能Private Sub Form_click() Dim n As Integer Dim k 2121 或7整除,这样的数共有多少对?(注意:3+5和5+3As Integer n = 0 k = 1 Do While k <= 100 j = 1 为是同一对数)。 Do While j < k If ________________________________ Then n = n + 1 j = j + 1 Loop k = k + 1 Loop Print n End Sub 知S1=1, S2=1+2, S3=1+2+3,...,SN=1+2+3+...+N, 求Private Sub Form_click() k = 1 n = 0 S = 0 Sum 315001,S2,S3,...,S100 中,所有能被3和7整除的数之= 0 Do While k <= 100 S = S + k If Int(S / 3) = S / 3 And Int(S / 7) = S / 7 Then ________________ k = k + 1 Loop Print Sum End Sub 知S1=1, S2=1+2, S3=1+2+3,..., SN=1+2+3+...+N, Private Sub Form_click() k = 1 N = 0 S = 0 Do 18 1,S2,S3,...,S100 中, 有多少个能被3和7整除? While k <= 100 S = S + k If Int(S / 3) = S / 3 And Int(S / 7) = S / 7 Then ________________ k = k + 1 Loop Print N End Sub 知菲波纳契数列{ X }中,X(1)=0,X(2)=1,X(n)=X(n-Private Sub Form_Click() Dim s As Long Dim I As 54483X(n-2),编程求数列前30个数中,所有质数的和。 Integer Dim No(30) As Long No(1) = 0 No(2) = 1 No(3) = 1 s = 2 For I = 4 To 30 ________________________________ j = 2: k = Int(No(I) / 2) Do While j <= k If No(I) Mod j = 0 Then Exit Do j = j + 1 Loop If j > k Then s = s + No(I) Next I Print s End Sub 知菲波纳契数列{ X }中,X(1)=0,X(2)=1,X(n)=X(n-Private Sub Form_Click() Dim s As Long Dim I As 11 X(n-2),编程求数列前30个数中,有多少个质数。 Integer Dim No(30) As Long No(1) = 0 No(2) = 1 No(3) = 1 s = 2 For I = 4 To 30 ________________________________ j = 2: k = Int(No(I) / 2) Do While j <= k If No(I) Mod j = 0 Then Exit Do j = j + 1 Loop If j > k Then s = s + 1 Next I Print s End Sub 三位数中,个位数字与十位数字之和除以10所得的余Private Sub Form_click() Dim s As Integer Dim x 40 是百位数字,且百位数字是偶数的数的个数。 As Integer Dim a As Integer Dim b As Integer Dim c As Integer s = 0 x = 100 Do While x <= 999 a = Int(x / 100) b = Int(x / 10) - a * 100 c = x - a * 100 - b * 10 If ______________________________Then s = s + 1 x = x + 1 Loop Print s End Sub 三位数中,个位数字与十位数字之和除以10所得的余Private Sub Form_click() Dim s As Integer Dim x 21980是百位数字,且百位数字是偶数的数的和。 As Integer Dim a As Integer Dim b As Integer Dim c As Integer s = 0 x = 100 Do While x <= 999 a = Int(x / 100) b = Int(x / 10) - a * 100 c = x - a * 100 - b * 10 If ___________________________________ Then s = s + x x = x + 1 Loop Print s End Sub 出1-1000之间的全部同构数的个数。同构数是指一个Private Sub Form_click() For i = 1 To 999 j = i 6 ,它出现在它的平方数的右端。例如,5的平方是25,* i Select Case j Case Is < 99 k = j Mod 10 25中右端的数,5就是一个同构数。同理,25也是Case Is < 999 k = j Mod 100 Case Else k = j Mod 个同构数。 1000 End Select If ________________Then s = s + 1 Next i Print s End Sub 出1-1000之间的全部同构数的和。同构数是指一个Private Sub Form_click() For i = 1 To 999 j = i 1038 ,它出现在它的平方数的右端。例如,5的平方是25,* i Select Case j Case Is < 99 k = j Mod 10 25中右端的数,5就是一个同构数。同理,25也是Case Is < 999 k = j Mod 100 Case Else k = j Mod 个同构数。 1000 End Select If ________________ Then s = s + i Next i Print s End Sub 方程5X-4Y=2,在|X|<=100,|Y|<=50内的整数解中Private Sub Form_click() Max = 0 For x = -100 86 +|Y|最大值? To 100 For y = -50 To 50 If 5 * x - 4 * y = 2 Then s = Abs(x) + Abs(y) ________________________________ End If Next y Next x Print Max End Sub 程求方程5X+4Y=2,在|X|<=50,|Y|<=100内的整数解,Private Sub Form_click() Max = 0 For x = -100 86 最大值是多少? To 100 For y = -50 To 50 If 5 * x - 4 * y = 2 Then s = x + y ________________________________ End If Next y Next x Print Max End Sub 程计算s=a+aa+aaa+„„.+a„a(最后一项有n个Private Sub Form_click() Dim s As Double j = 0 11111,设n=10,a=9 s=9+99+„+9999999999 s = 0 For i = 1 To 10 ________________ s = s + 9,n=10) j Next s = s * 9 Print s End Sub 1,10000]范围内考察个位数字是1的素数个数。 Private Sub Form_click() For i = 2 To 10000 j = 306 1,10000]范围内考察个位数字是3的素数有多少个? 1,10000]范围内考察个位数字是7的素数有多少个? 个素数称之为超级素数,若该素数依次去掉个位,十,...等等,每次所得的数仍然是素数。例如239就是超素数。求[100,9999]之内超级素数的个数 个素数称之为超级素数,若该素数依次去掉个位,十,...等等,每次所得的数仍然是素数。例如239就是超素数。求[100,9999]之内超级素数的和 个素数称之为超级素数,若该素数依次去掉个位,十,...等等,每次所得的数仍然是素数。例如239就是超2: k = Int(i / 2) + 1 Do While j <= k If i Mod j = 0 Then Exit Do j = j + 1 Loop If j > k Then m = Str(i) ________________________________ If mr = \"1\" Then s = s + 1 End If Next i Print s End Sub Private Sub Form_click() For i = 2 To 10000 j = 310 2: k = Int(i / 2) + 1 Do While j <= k If i Mod j = 0 Then Exit Do j = j + 1 Loop If j > k Then m = Str(i) ________________________________ If mr = \"3\" Then s = s + 1 End If Next i Print s End Sub Private Sub Form_click() For i = 2 To 10000 j = 308 2: k = Int(i / 2) + 1 Do While j <= k If i Mod j = 0 Then Exit Do j = j + 1 Loop If j > k Then m = Str(i) ________________ If mr = \"7\" Then s = s + 1 End If Next i Print s End Sub Private Sub Form_click() Dim a As Integer, j As 44 Integer, k As Integer s = 0 For i = 100 To 9999 a = i j = 2 k = Int(Sqr(i)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 10): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 100): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 1000): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) ________________________________ End If End If End If Next i Print s End Sub Sub pd(a1 As Integer, j1 As Integer, k1 As Integer) Do While j1 <= k1 If a1 Mod j1 = 0 Then Exit Do j1 = j1 + 1 Loop End Sub Private Sub Form_click() Dim a As Integer, j As 85574Integer, k As Integer s = 0 For i = 100 To 9999 a = i j = 2 k = Int(Sqr(i)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 10): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 100): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 1000): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) ________________________________ End If End If End If Next i Print s End Sub Sub pd(a1 As Integer, j1 As Integer, k1 As Integer) Do While j1 <= k1 If a1 Mod j1 = 0 Then Exit Do j1 = j1 + 1 Loop End Sub Private Sub Form_click() Dim a As Integer, j As 5939 Integer, k As Integer s = 0 For i = 100 To 9999 素数。求[100,9999]之内,按从小到大排列顺序,第个超级素数的值 杨辉三角形中,第20行第10列的数为多少?杨辉三角: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 „„„„„„„„„„ 杨辉三角形中,第19行第10列的数为多少?杨辉三角: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 „„„„„„„„„„ 用函数sin(n)产生一个25×10的矩阵,求出最大值所的行、列号乘积。 用函数sin(n)产生一个25×10的矩阵,求出最小值所的行、列号乘积。 用函数cos(n)产生一个25×10的矩阵,求出最大值所的行、列号乘积。 用函数cos(n)产生一个25×10的矩阵,求出最小值所的行、列号乘积。 a = i j = 2 k = Int(Sqr(i)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 10): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 100): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then a = Fix(i / 1000): j = 2: k = Int(Sqr(a)) + 1 Call pd(a, j, k) If j > k Then s = s + 1 ________________________________ End If End If End If End If Next i End Sub Sub pd(a1 As Integer, j1 As Integer, k1 As Integer) Do While j1 <= k1 If a1 Mod j1 = 0 Then Exit Do j1 = j1 + 1 Loop End Sub Private Sub Form_click() Dim a() As Long n = 20 92378ReDim a(n, n) For i = 1 To n a(i, i) = 1 a(i, 1) = 1 Next i For i = 3 To n For j = 2 To i - 1 ________________________________ Next j Next i Print a(20, 10); End Sub Private Sub Form_click() Dim a() As Long n = 20 48620ReDim a(n, n) For i = 1 To n a(i, i) = 1 a(i, 1) = 1 Next i For i = 3 To n For j = 2 To i - 1 ________________________________ Next j Next i Print a(19, 10) End Sub Private Sub Form_click() Dim a(25, 10) As 72 Single n = 0 Max = 0 For i = 1 To 25 For j = 1 To 10 n = n + 15 a(i, j) = Sin(n) If ________________ Then Max = a(i, j) x = i y = j End If Next j Next i Print x * y End Sub Private Sub Form_click() Dim a(25, 10) As 34 Single n = 0 Min = 0 For i = 1 To 25 For j = 1 To 10 n = n + 15 a(i, j) = Sin(n) If ________________________________ Then Min = a(i, j) x = i y = j End If Next j Next i Print x * y End Sub Private Sub Form_click() Dim a(25, 10) As 30 Single n = 0 Max = 0 For i = 1 To 25 For j = 1 To 10 n = n + 15 a(i, j) = Cos(n) If ________________ Then Max = a(i, j) x = i y = j End If Next j Next i Print x*y End Sub Private Sub Form_click() Dim a(25,10) As Single 100 n = 0 Min = 0 For i = 1 To 25 For j = 1 To 10 n = n + 9 a(i, j) = cos(n) If ________________Then Min = a(i, j) x = i y = j End If Next j Next i Print x*y End Sub 知正整数A,B(假定A< td> Private Sub Command1_Click() Min = 5432 For a = 153 1 To 5432 For b = a + 1 To 5432 / a If a * b = 5432 Then s = a + b ________________ End If Next b Next a Print Min End Sub 程求共有几组i,j,k符合算式ijk+kji=1333,其Private Sub Form_Click() Dim i As Integer, j As 6 、j、k是0-9之间的一位整数 Integer, k As Integer Dim m As Integer m = 0 For i = 0 To 9 For j = 0 To 9 For k = 0 To 9 If ________________ Then m = m + 1 End If Next k Next j Next i Print m End Sub 程求1-99的平方根的和并输出结果。(保留两位小数) Private Sub cmdSqrt_Click() Dim i As Integer, s 661.4As Single For i = 1 To 99 ________________ Next i s = Round(s, 2) FontSize = 12 FontBold = True Print s End Sub 程,求所有符合算式ij*ji=1300的最小数ij(即Private Sub cmdCount_Click() Dim i As Integer, 25 0+j)其中i、j是1-9之间的一位整数。 j As Integer FontSize = 14 FontBold = True For i = 1 To 9 For j = 1 To 9 If ________________Then Print m Exit sub End If Next j Next i End Sub 程求在四位数的奇数中,所有各位数字之和是25的倍Private Sub Form_Click() Dim m%, a%, b%, c%, 12985的数之和。 d%, s& s = 0 FontSize = 14: FontBold = True Print: Print: Print For m = 1001 To 9999 Step 2 a = Int(m / 1000) b = Int((m - 1000 * a) / 100) c = Int((m - 1000 * a - 100 * b) / 10) d = m Mod 10 If ________________ Then s = s + m Next m Print s End Sub 程求在四位数的偶数中,所有各位数字之和是30的倍Private Sub Form_Click() Dim m%, a%, b%, c%, 28884的数之和。 d%, s& s = 0 FontSize = 14 FontBold = True For m = 1000 To 9998 Step 2 a = Int(m / 1000) b = Int((m - a * 1000) / 100) c = Int((m - a * 1000 - b * 100) / 10) d = m Mod 10 If ________________Then s = s + m Next m Print s End Sub 程求1到5000之间的能被5整除的前若干个偶数之Private Sub cmdSum_Click() Dim i As Integer, s 550 ,当和大于500时,终止求和,并输出该和。 As Long FontSize = 14 FontBold = True ________________ If i Mod 2 = 0 Then s = s + i If s > 500 Then Exit For Next i Print s End Sub 知a,b,c为正整数,求满以下足条件的a,b,c的组数: Private Sub Form_Click() Dim a!, b!, c!, m% m = 2 a>b>c b) a+b+c<100 c)1/(a^2)+1/(b^2)=1/(c^2) 0 FontSize = 14: FontBold = True For c = 1 To 34 For b = c To 50 For a = b To 100 If ________________Then m = m + 1 End If Next a, b, c Print m End Sub 程求在1000以内能被17或者23整除的正整数的个Private Sub cmdCount_Click() Dim i As Integer, 99 。 m As Integer FontSize = 14: FontBold = True 个数如果刚好与它所有的因子之和相等,则称该数为完数”, 如6=1+2+3,则6就是个完数,求200到之间所有的完数之和。 知一个数列的前3项为0,0,1,从第4项开始,每项前3项的和,编程求此数列的第36个数。 个数如果刚好与它所有的因子之和相等,则称该数为完数”,如6=1+2+3,则6就是个完数。编程求00,9000]之间完数的个数。 程计算在[100,500]的范围内有多少这样的个数:其每数字的乘积大于它的每位数字之和。(如数字23,2×+3) 写程序,求10~8887之间的所有素数的个数。 国古代数学家在《算经》中出了一道题:鸡翁一,值钱;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?”意为公鸡5吊钱1只,母鸡3吊只,3只小鸡值1吊钱。编程实现用100吊钱买100鸡,公鸡、母鸡、小鸡每种鸡至少一只,有多少种买? 前世界上人口为60亿,如果以每年1.4%的速度增长, Private Sub command1_Click() Dim p As Single 12 n为正整数)年后世界人口达到70亿,求n。 Dim r As Single Dim n As Integer FontSize = 14: FontBold = True p = 60 r = 0.014 n = 0 Do n = n + 1 ________________ Loop Until p >= 70 Print n End Sub onacci数列的前几个数为:0,1,1,2,3,5,„,Private Sub Command1_Click() Dim f, lastf, 13462规律是: F1 = 0 (n = 1) F2 = 1 (n = 2) Fn prevf, sum& Dim n As Integer sum = 1: prevf = Fn-1+Fn-2 (n ≥ 3) 0: lastf = 1 n = 3 Do While n <= 30 Print: Print: Print m = 0 For i = 17 To 1000 If________________Then m = m + 1 Next i Print m End Sub Private Sub Form_Click() Dim i%, j%, s As Long, 496 m As Long s = 0 FontSize = 14: FontBold = True For i = 200 To 500 m = 0 For j = 1 To i - 1 If i Mod j = 0 Then ________________ End If Next j If i = m Then s = s + i Next i Print s End Sub Private Sub Form_Click() Dim i%, f0&, f1&, f2&, 33474f3& FontSize = 14: FontBold = True f0 = 0 f1 = 0 f2 = 1 For i = 4 To 36 ________________ f0 = f1 f1 = f2 f2 = f3 Next i Print f3 End Sub Private Sub Form_Click() Dim i%, j%, s As Long, 1 m As Long s = 0 FontSize = 14: FontBold = True For i = 8000 To 9000 m = 0 For j = 1 To i - 1 If i Mod j = 0 Then ________________ End If Next j If i = m Then s = s + 1 End If Next i Print s End Sub Private Sub Form_Click() Dim i%, a%, b%, m% m = 320 0 FontSize = 14: FontBold = True For i = 100 To 500 a = Int(i / 10) b = ________________ If a * b > a + b Then m = m + 1 Next i Print m End Sub Private Sub Command1_Click() Dim x As Long, 1103 Number, i As Integer FontSize = 14: FontBold = True Number = 0 For x = 11 To 8887 Step 2 i = 2: k = Int(x / 2) Do While i <= k If x Mod i = 0 Then Exit Do i = i + 1 Loop If ________________ Then Number = Number + 1 End If Next x Print Number End Sub Private Sub command1_Click() Dim a%, b%, c%, s% 3 FontSize = 14: FontBold = True Print: Print: Print s = 0 For a = 1 To 20 For b = 1 To 34 ________________ If 5 * a + 3 * b + c / 3 = 100 Then s = s + 1 Next b Next a Print s End Sub ________________ sum = sum + f prevf = lastf lastf = f n = n + 1 Loop FontSize = 14: FontBold = True Print sum End Sub onacci数列的前几个数为:0,1,1,2,3,5,„,Private Sub Command1_Click() Dim f, lastf, 16558规律是: F1 = 0 (n = 1) F2 = 1 (n = 2) Fn prevf, sum& Dim n As Integer sum = 1: prevf = Fn-1+Fn-2 (n ≥ 3) 编程求此数列的前40项之和。 0: lastf = 1 n = 3 Do While n <= 40 ________________ sum = sum + f prevf = lastf lastf = f n = n + 1 Loop FontSize = 14: FontBold = True Print sum End Sub 人想将手中的一张面值100元的人民币换成5元、1元Private Sub cmdExchangeRMB_Click() Dim i, j As 11 .5元面值的票子100张,且要求每种至少1张。求换Integer, RMBsum As Single RMBsum = 0 For i = 1 的种数。 To 11 For j = 1 To 100 - i If ________________ Then RMBsum = RMBsum + 1 Next j, i FontSize = 14: FontBold = True Print RMBsum End Sub 位平方数:千位、百位数相同,十位、个位数相同,且Private Sub Command1_Click() N=0 For a = 0 To 9 1 某一个二位数的平方,求四位平方数的个数。 For b = 0 To 9 For i = 10 To 99 ________________ If m = i * i Then n=n+1 Next i Next b Next a Printf n End Sub /2+2/3+3/5+5/8+„„的前1000项的和。注:该数列Private Sub Command1_Click() fz = 1 fm = 2 s = 617.9第二项开始,其分子等于前一项的分母,而其分母等于fz / fm For i = 2 To 1000 ________________ t = 一项分子与分母之和。要求:按四舍五入的方式精确到fz fz = fm fm = fm + t Next i Print Round(s, 2) 数点后第二位。 End Sub 将一张100元的大钞票,换成等值的10元、5元、2元Private Sub Command1_Click() Dim i, j, k, m As 34 元一张的小钞票。要求每次换成40张小钞票,每种Integer Dim RMBsum As Integer FontSize = 14: 少一张。编程求有多少种换法。 FontBold = True For i = 1 To 9 For j = 1 To 17 For k = 1 To 37 m = 40 - i - j - k If ________________ Then RMBsum = RMBsum + 1 Next k, j, i Print RMBsum End Sub 键盘输入两个数51211314和84131421,利用辗转相除Private Sub cmdGreatestCommonDivsion_Click() 18 求它们的最大公约数。求需要经过多少次辗转。 Dim m, n, r, t As Single, count% m = Val(InputBox(\"请输入第一个数:\")) n = Val(InputBox(\"请输入第二个数:\")) FontSize = 14: FontBold = True If m < n Then t = m: m = n: n = t count = 0 Do ________________ m = n n = r count = count + 1 Loop Until r = 0 Print count End Sub 次方程尾数的问题:求13的298次方的最后三位数是Private Sub cmdMantissa_Click() Dim i, x, y, 929 少?编程实现之。 last As Long y = 298: x = 13 last = 1 FontSize = 14: FontBold = True For i = 1 To y last = last * x last=last Mod 1000 Next i Print last Mod ________________ End Sub 下程序的功能是求:在[100,999]范围内同时满足以下Private Sub Command1_Click() n = 0 For i = 100 15 个条件的十进制数的个数。 ⑴其个位数字与十位数字To 999 If prime(i) = True Then g = i Mod 10 s = 和除以10所得的余数是百位数字; ⑵该数是素数。 i \\ 10 Mod 10 b = i \\ 100 If (g + s) Mod 10 = b Then n = n + 1 End If Next i Print n End Sub Private Function prime(x) As Boolean p = x \\ 2 For i = 2 To p If x Mod i = 0 Then prime = False Exit For End If Next i If i > p Then ________________ End Function 交通肇事犯:一辆卡车违反交通规则,撞人后逃跑。现Private Sub cmdTrafficTrouble_Click() Dim i, j, 7744 有三人目击事件,但是没有记住车号,只记下车号的一k, c As Integer FontSize = 14: FontBold = True 特征。甲说:牌照的前两位数字是相同的;乙说:牌照For i = 1 To 9 For j = 0 To 9 If (i <> j) Then 后两位数字是相同的,但与前两位不同;丙说:四位的________________ c = Int(Sqr(k)) If c * c = k 号刚好是一个整数的平方。 Then Print k End If Next j, i End Sub 反序数:设N是一个四位数,它的9倍恰好是其反序Private Sub cmdAgainstOrdinalNumber_Click() Dim 1089 ,求N。(反序数就是将整数的数字倒过来形成的整d1, d2, d3, d4, d, i As Integer FontSize = 14: ,如1234的反序数是4321。) FontBold = True For i = 1000 To 1111 d1 = i Mod 10 d2 = (i \\ 10) Mod 10 d3 = (i \\ 100) Mod 10 d4 = i \\ 1000 ________________ If d = i * 9 Then Print i Next i End Sub 具有abcd=(ab+cd)^2性质的四位数。编程实现之。 Private Sub cmdSpecialFour_Click() Dim n, a, b, 3 count As Integer count = 0 FontSize = 14: FontBold = True For n = 1000 To 9999 a = Int(n / 100) b = n Mod 100 If ________________ Then count = count + 1 Next n Print count End Sub 然数对是指两个自然数的和与差都是平方数,如8和Private Sub Command1_Click() n = 0 For a = 2 To 31 的和8+17=25与其差17-8=9都是平方数,则称8和17100 For b = 1 To a - 1 If ________________Then 自然数对(8,17)。假定(A,B)与(B,A)是同一n = n + 1 Print a; b End If Next b Next a Print 自然数对且假定A>=B,求所有小于或等于100(即:n End Sub 100,B<=100)的自然数对的组数。 知24有8个正整数因子(即:1,2,3,4,6,8,Private Sub Command1_Click() m = 0 For i = 10 12 ,24),而24正好能被其因子数8整除,求[10,100]To 100 n = 1 For j = 2 To i If i Mod j = 0 Then 间有多少个整数能被其因子的个数整除。 n = n + 1 End If Next j If ________________ Then m = m + 1 End If Next i Print m End Sub 谓回文数是从左至右与从右至左读起来都是一样的数Private Sub cmdPalindromeNumbere_Click() Dim 86 ,如:181是一个回文数。编程求出100~968之间的i%, a%, b%, m% FontSize = 14: FontBold = True 有回文数的个数。 For i = 100 To 968 a = ________________ b = i Mod 10 If a = b Then m = m + 1 Next i Print m End Sub 程序求四位数的奇数中,所有各位数字之积(且不为Private Sub Command1_Click() sum = 0 For i = 19995是600的倍数的数之和。 1001 To 9999 Step 2 d1 = i Mod 10 d2 = (i \\ 10) Mod 10 d3 = (i \\ 100) Mod 10 d4 = i \\ 1000 d = d1 * d2 * d3 * d4 If ________________ Then sum = sum + i Next i Print sum End Sub 程序求四位数的偶数中,所有各位数字之积(且不为Private Sub Command1_Click() sum = 0 For i = 28320是60的倍数的数之和。 1000 To 9999 Step 2 d1 = i Mod 10 d2 = (i \\ 10) 某整数平方等于某两个正整数平方之和的正整数称为弦。例如:由于3^2+4^2=5^2,则为弦数,求[100,]之间弦数的数目。 两素数之差为2,则称两素数为双胞胎素数,编程求0,1000]之间有多少对双胞胎素数。 水仙花数”是指这样的数,其各位数字的立方和等于该本身,如: 153=1^3+5^3+3^3。求100至999的范围内仙花数的个数。 水仙花数”是指这样的数,其各位数字的立方和等于该本身,如: 153=1^3+5^3+3^3。求100至999的范围内有水仙花数之和。 有十进制数字a,b,c,d和e,它们满足下列式子: d*e=bcde (a不等于0, e不等于0或1),求满足上条件的四位数abcd的个数。 ,C三个正整数,当满足1/A^2+1/B^2=1/C^2关系时,为倒勾股数。求130 某四位数的各位数字的平方和等于100,共有多少个这四位数? Mod 10 d3 = (i \\ 100) Mod 10 d4 = i \\ 1000 d = d1 * d2 * d3 * d4 If ________________Then sum = sum + i Next i Print sum End Sub Private Sub cmdChordCount_Click() Dim a, b, c, 55 count As Integer FontSize = 14: FontBold = True count = 0 For c = 100 To 200 For a = 1 To c - 1 b = Sqr(c ^ 2 - a ^ 2) If ________________ Then count = count + 1 Exit For End If Next a, c Print count End Sub Private Sub cmdTwinsPrime_Click() Dim k, prime, 20 j, i, Count As Integer FontSize = 14: FontBold = True Print: Print: Print prime = 2 For i = 200 To 1000 k = Sqr(i) For j = 2 To k If i Mod j = 0 Then Exit For Next j If j > k Then If i - prime = 2 Then Count = Count + 1 ________________ End If Next i Print Count End Sub Private Sub cmdDaffodilCount_Click() Dim i%, 4 a%, b%, c%, count% FontSize = 14: FontBold = True count = 0 i = 100 Do a = i \\ 100 b = (i - 100 * a) \\ 10 c = i Mod 10 If i = a ^ 3 + b ^ 3 + c ^ 3 Then count = count + 1 End If i = i + 1 ________________ Print count End Sub Private Sub cmdDaffodilSum_Click() Dim i%, a%, 1301 b%, c%, sum% FontSize = 14: FontBold = True Print: Print: Print sum = 0 i = 100 Do a = i \\ 100 b = i \\ 10 Mod 10 c = i Mod 10 If i = a ^ 3 + b ^ 3 + c ^ 3 Then sum = sum + i End If i = i + 1 ________________ Print sum End Sub Private Sub cmdMeetConditon_Click() Dim a, b, 2 c, d, e, comb, count As Integer count = 0 FontSize = 14: FontBold = True For a = 1 To 9 b = 0 For b = 0 To 9 For c = 0 To 9 For d = 0 To 9 For e = 2 To 9 If ________________ Then count = count + 1 End If Next e, d, c, b, a Print count End Sub Private Sub Command1_Click() n = 0 For a = 1 To 1 150 For b = a To 150 For c = 1 To 150 - a - b If________________Then n = n + 1 End If Next c Next b Next a Print n End Sub Private Sub cmdFourSqr_Click() Dim a, b, c, d, 49 i, count As Integer count = 0 i = 1111 FontSize = 14: FontBold = True Print: Print: Print Do 计[521,8421]之间有多少个这样的整数,其各位数字之能被7整除。 计[521,8421]之间有多少个这样的整数,其各位数字之能被7整除。 4738和24894的最大公约数。 杨辉三角形中,第19行第10列的数为多少?杨辉三角: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 „„„„„„„„„„ 用函数sin(n)产生一个25×10的矩阵,求出最大值所的行、列号乘积。 用函数sin(n)产生一个25×10的矩阵,求出最小值所的行、列号乘积。 Until i > 9999 a = i \\ 1000 b = (i Mod 1000) \\ 100 c = ________________ d = i Mod 10 If 100 = a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 Then count = count + 1 i = i + 1 Loop Print count End Sub Private Sub cmdEveryNumCount_Click() Dim count 1126 As Integer count = 0 FontSize = 14: FontBold = True For i = 521 To 8421 Select Case i Case 521 To 999 a = i \\ 100 b = i \\ 10 Mod 10 c = i Mod 10 If (a + b + c) Mod 7 = 0 Then count = count + 1 Case ________________ a = i \\ 1000 b = i \\ 100 Mod 10 c = i \\ 10 Mod 10 d = i Mod 10 If (a + b + c + d) Mod 7 = 0 Then count = count + 1 End Select Next i Print count End Sub Private Sub cmdEveryNumCount_Click() Dim count 4380 As Integer count = 0 FontSize = 14: FontBold = True For i = 521 To 8421 Select Case i Case 521 To 999 a = i \\ 100 b = i \\ 10 Mod 10 c = i Mod 10 If (a * b * c) Mod 7 = 0 Then count = count + 1 Case ________________ a = i \\ 1000 b = i \\ 100 Mod 10 c = i \\ 10 Mod 10 d = i Mod 10 If (a * b * c * d) Mod 7 = 0 Then count = count + 1 End Select Next i Print count End Sub Private Sub Form_click() Dim a As Integer Dim b 6 As Integer Dim i As Integer Dim t As Integer a = 24738 b = 24894 If a > b Then t = a: a = b: b = t i = a Do While _______________________________ i = i - 1 Loop Print i End Sub Private Sub Form_click() Dim a() As Long n = 20 48620ReDim a(n, n) For i = 1 To n a(i, i) = 1 a(i, 1) = 1 Next i For i = 3 To n For j = 2 To i - 1 ________________________________ Next j Next i Print a(19, 10) End Sub Private Sub Form_click() Dim a(25, 10) As 72 Single n = 0 Max = 0 For i = 1 To 25 For j = 1 To 10 n = n + 15 a(i, j) = Sin(n) If ________________ Then Max = a(i, j) x = i y = j End If Next j Next i Print x * y End Sub Private Sub Form_click() Dim a(25, 10) As 34 Single n = 0 Min = 0 For i = 1 To 25 For j = 1 To 10 n = n + 15 a(i, j) = Sin(n) If ________________________________ Then Min = a(i, j) x = i y = j End If Next j Next i Print x * y End Sub Private Sub Form_click() Dim a As Integer Dim b 10263As Integer Dim i As Long a = 24738 b = 24894 i = a Do While ________________________________ i = i + a Loop Print i End Sub 用函数cos(n)产生一个25×10的矩阵,求出最小值所Private Sub Form_click() Dim a(25,10) As Single 100 的行、列号乘积。 n = 0 Min = 0 For i = 1 To 25 For j = 1 To 10 n = n + 9 a(i, j) = cos(n) If ________________Then Min = a(i, j) x = i y = j End If Next j Next i Print x*y End Sub 1000,20000]之间最大的素数 Private Sub Form_Click() Dim n As Long Dim flag 19997As Boolean n = 20000 Do flag = True For m = 2 To Sqr(n) If n Mod m = 0 Then ________________ Exit For End If Next If Not flag Then n = n - 1 End If Loop Until flag Print n End Sub 5000,6000]之间最小的素数 Private Sub Form_Click() Dim n As Integer Dim m 5003 As Integer Dim nIsPrime As Boolean For n = 5000 To 6000 ________________ For m = 2 To Sqr(n) If n Mod m = 0 Then nIsPrime = False Exit For End If Next If nIsPrime Then Print n Exit For End If Next End Sub 知正整数A,B(假定A< td> Private Sub Command1_Click() Min = 5432 For a = 153 1 To 5432 For b = a + 1 To 5432 / a If a * b = 5432 Then s = a + b ________________ End If Next b Next a Print Min End Sub 程求共有几组i,j,k符合算式ijk+kji=1333 其中Private Sub Form_Click() Dim i As Integer, j As 6 j、k是0-9之间的一位整数 Integer, k As Integer Dim m As Integer m = 0 For i = 0 To 9 For j = 0 To 9 For k = 0 To 9 If ________________ Then m = m + 1 End If Next k Next j Next i Print m End Sub 程求1-99的平方根的和并输出结果。(保留两位小数) Private Sub cmdSqrt_Click() Dim i As Integer, s 661.4As Single For i = 1 To 99 ________________ Next i s = Round(s, 2) FontSize = 12 FontBold = True Print s End Sub 程,求所有符合算式ij*ji=1300的最小数ij(即Private Sub cmdCount_Click() Dim i As Integer, 25 0+j)其中i、j是1-9之间的一位整数。 j As Integer FontSize = 14 FontBold = True For i = 1 To 9 For j = 1 To 9 If ________________Then Print m Exit sub End If Next j Next i End Sub 程求在四位数的奇数中,所有各位数字之和是25的倍Private Sub Form_Click() Dim m%, a%, b%, c%, 12985的数之和。 d%, s& s = 0 FontSize = 14: FontBold = True Print: Print: Print For m = 1001 To 9999 Step 2 a = Int(m / 1000) b = Int((m - 1000 * a) / 100) c = Int((m - 1000 * a - 100 * b) / 10) d = m 4738和24894的最小公倍数。 Mod 10 If ________________ Then s = s + m Next m Print s End Sub 程求在四位数的偶数中,所有各位数字之和是30的倍Private Sub Form_Click() Dim m%, a%, b%, c%, 28884的数之和。 d%, s& s = 0 FontSize = 14 FontBold = True For m = 1000 To 9998 Step 2 a = Int(m / 1000) b = Int((m - a * 1000) / 100) c = Int((m - a * 1000 - b * 100) / 10) d = m Mod 10 If ________________Then s = s + m Next m Print s End Sub 程求1到5000之间的能被5整除的前若干个偶数之Private Sub cmdSum_Click() Dim i As Integer, s 550 ,当和大于500时,终止求和,并输出该和。 As Long FontSize = 14 FontBold = True ________________ If i Mod 2 = 0 Then s = s + i If s > 500 Then Exit For Next i Print s End Sub 知a,b,c为正整数,求满以下足条件的a,b,c的组数: Private Sub Form_Click() Dim a!, b!, c!, m% m = 2 a>b>c b) a+b+c<100 c) 1/(a^2)+1/(b^2)=1/(c^2) 0 FontSize = 14: FontBold = True For c = 1 To 34 For b = c To 50 For a = b To 100 If ________________Then m = m + 1 End If Next a, b, c Print m End Sub 程求在1000以内能被17或者23整除的正整数的个Private Sub cmdCount_Click() Dim i As Integer, 99 。 m As Integer FontSize = 14: FontBold = True Print: Print: Print m = 0 For i = 17 To 1000 If________________Then m = m + 1 Next i Print m End Sub 个数如果刚好与它所有的因子之和相等,则称该数为Private Sub Form_Click() Dim i%, j%, s As Long, 496 完数”, 如6=1+2+3,则6就是个完数,求200到m As Long s = 0 FontSize = 14: FontBold = True 之间所有的完数之和。 For i = 200 To 500 m = 0 For j = 1 To i - 1 If i Mod j = 0 Then ________________ End If Next j If i = m Then s = s + i Next i Print s End Sub 知一个数列的前3项为0,0,1,从第4项开始,每项Private Sub Form_Click() Dim i%, f0&, f1&, f2&, 33474前3项的和,编程求此数列的第36个数。 f3& FontSize = 14: FontBold = True f0 = 0 f1 = 0 f2 = 1 For i = 4 To 36 ________________ f0 = f1 f1 = f2 f2 = f3 Next i Print f3 End Sub 个数如果刚好与它所有的因子之和相等,则称该数为Private Sub Form_Click() Dim i%, j%, s As Long, 1 完数”,如6=1+2+3,则6就是个完数。编程求m As Long s = 0 FontSize = 14: FontBold = True 00,9000]之间完数的个数。 For i = 8000 To 9000 m = 0 For j = 1 To i - 1 If i Mod j = 0 Then ________________ End If Next j If i = m Then s = s + 1 End If Next i Print s End Sub 程计算在[100,500]的范围内有多少这样的个数:其每Private Sub Form_Click() Dim i%, a%, b%, m% m = 320 数字的乘积大于它的每位数字之和。(如数字23,2×0 FontSize = 14: FontBold = True For i = 100 To +3) 500 a = Int(i / 10) b = ________________ If a * b > a + b Then m = m + 1 Next i Print m End Sub 写程序,求10~8887之间的所有素数的个数。 Private Sub Command1_Click() Dim x As Long, 1103 国古代数学家在《算经》中出了一道题:鸡翁一,值钱;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?”意为公鸡5吊钱1只,母鸡3吊只,3只小鸡值1吊钱。编程实现用100吊钱买100鸡,公鸡、母鸡、小鸡每种鸡至少一只,有多少种买? onacci数列的前几个数为:0,1,1,2,3,5,„,Private Sub Command1_Click() Dim f, lastf, 13462规律是: F1 = 0 (n = 1) F2 = 1 (n = 2) Fn prevf, sum& Dim n As Integer sum = 1: prevf = Fn-1+Fn-2 (n ≥ 3)编程求此数列的前30项之和。 0: lastf = 1 n = 3 Do While n <= 30 ________________ sum = sum + f prevf = lastf lastf = f n = n + 1 Loop FontSize = 14: FontBold = True Print sum End Sub onacci数列的前几个数为:0,1,1,2,3,5,„,Private Sub Command1_Click() Dim f, lastf, 16558规律是: F1 = 0 (n = 1) F2 = 1 (n = 2) Fn prevf, sum& Dim n As Integer sum = 1: prevf = Fn-1+Fn-2 (n ≥ 3) 编程求此数列的前40项之和。 0: lastf = 1 n = 3 Do While n <= 40 ________________ sum = sum + f prevf = lastf lastf = f n = n + 1 Loop FontSize = 14: FontBold = True Print sum End Sub 人想将手中的一张面值100元的人民币换成5元、1元Private Sub cmdExchangeRMB_Click() Dim i, j As 11 .5元面值的票子100张,且要求每种至少1张。求换Integer, RMBsum As Single RMBsum = 0 For i = 1 的种数。 To 11 For j = 1 To 100 - i If ________________ Then RMBsum = RMBsum + 1 Next j, i FontSize = 14: FontBold = True Print RMBsum End Sub 位平方数:千位、百位数相同,十位、个位数相同,且Private Sub Command1_Click() N=0 For a = 0 To 9 1 某一个二位数的平方,求四位平方数的个数。 For b = 0 To 9 For i = 10 To 99 ________________ If m = i * i Then n=n+1 Next i Next b Next a Printf n End Sub /2+2/3+3/5+5/8+„„的前1000项的和。注:该数列Private Sub Command1_Click() fz = 1 fm = 2 s = 617.9第二项开始,其分子等于前一项的分母,而其分母等于fz / fm For i = 2 To 1000 ________________ t = 一项分子与分母之和。要求:按四舍五入的方式精确到fz fz = fm fm = fm + t Next i Print Round(s, 2) 数点后第二位。 End Sub 将一张100元的大钞票,换成等值的10元、5元、2元Private Sub Command1_Click() Dim i, j, k, m As 34 元一张的小钞票。要求每次换成40张小钞票,每种Integer Dim RMBsum As Integer FontSize = 14: 少一张。编程求有多少种换法。 FontBold = True For i = 1 To 9 For j = 1 To 17 For k = 1 To 37 m = 40 - i - j - k If ________________ Then RMBsum = RMBsum + 1 Next k, j, i Print RMBsum End Sub Number, i As Integer FontSize = 14: FontBold = True Number = 0 For x = 11 To 8887 Step 2 i = 2: k = Int(x / 2) Do While i <= k If x Mod i = 0 Then Exit Do i = i + 1 Loop If ________________ Then Number = Number + 1 End If Next x Print Number End Sub Private Sub command1_Click() Dim a%, b%, c%, s% 3 FontSize = 14: FontBold = True Print: Print: Print s = 0 For a = 1 To 20 For b = 1 To 34 ________________ If 5 * a + 3 * b + c / 3 = 100 Then s = s + 1 Next b Next a Print s End Sub 键盘输入两个数51211314和84131421,利用辗转相除Private Sub cmdGreatestCommonDivsion_Click() 18 求它们的最大公约数。求需要经过多少次辗转。 Dim m, n, r, t As Single, count% m = Val(InputBox(\"请输入第一个数:\")) n = Val(InputBox(\"请输入第二个数:\")) FontSize = 14: FontBold = True If m < n Then t = m: m = n: n = t count = 0 Do ________________ m = n n = r count = count + 1 Loop Until r = 0 Print count End Sub 次方程尾数的问题:求13的298次方的最后三位数是Private Sub cmdMantissa_Click() Dim i, x, y, 929 少?编程实现之。 last As Long y = 298: x = 13 last = 1 FontSize = 14: FontBold = True For i = 1 To y last = last * x last=last Mod 1000 Next i Print last Mod ________________ End Sub 下程序的功能是求:在[100,999]范围内同时满足以下Private Sub Command1_Click() n = 0 For i = 100 15 个条件的十进制数的个数。⑴其个位数字与十位数字之To 999 If prime(i) = True Then g = i Mod 10 s = 除以10所得的余数是百位数字;⑵该数是素数。 i \\ 10 Mod 10 b = i \\ 100 If (g + s) Mod 10 = b Then n = n + 1 End If Next i Print n End Sub Private Function prime(x) As Boolean p = x \\ 2 For i = 2 To p If x Mod i = 0 Then prime = False Exit For End If Next i If i > p Then ________________ End Function 反序数:设N是一个四位数,它的9倍恰好是其反序Private Sub cmdAgainstOrdinalNumber_Click() Dim 1089 ,求N。(反序数就是将整数的数字倒过来形成的整d1, d2, d3, d4, d, i As Integer FontSize = 14: ,如1234的反序数是4321。) FontBold = True For i = 1000 To 1111 d1 = i Mod 10 d2 = (i \\ 10) Mod 10 d3 = (i \\ 100) Mod 10 d4 = i \\ 1000 ________________ If d = i * 9 Then Print i Next i End Sub 年龄:用爷爷的年龄的5倍加6得的和,再乘以20,Private Sub Form_Click() For a = 1 To 200 For b 140 加上奶奶的年龄,再减去365,得数为6924,又知爷爷= 1 To 200 If ________________________________ 奶奶大2岁。求爷爷、奶奶的年龄的和。 Then Print a + b End If Next b Next a End Sub 知24有8个正整数因子(即:1,2,3,4,6,8,Private Sub Command1_Click() m = 0 For i = 10 12 ,24),而24正好能被其因子数8整除,求[10,100]To 100 n = 1 For j = 2 To i If i Mod j = 0 Then 间有多少个整数能被其因子的个数整除。 n = n + 1 End If Next j If ________________ Then m = m + 1 End If Next i Print m End Sub 谓回文数是从左至右与从右至左读起来都是一样的数Private Sub cmdPalindromeNumbere_Click() Dim 86 ,如:181是一个回文数。编程求出100~968之间的i%, a%, b%, m% FontSize = 14: FontBold = True 有回文数的个数。 For i = 100 To 968 a = ________________ b = i Mod 10 If a = b Then m = m + 1 Next i Print m End Sub 程序求四位数的奇数中,所有各位数字之积(且不为Private Sub Command1_Click() sum = 0 For i = 19995是600的倍数的数之和。 1001 To 9999 Step 2 d1 = i Mod 10 d2 = (i \\ 10) Mod 10 d3 = (i \\ 100) Mod 10 d4 = i \\ 1000 d = d1 * d2 * d3 * d4 If ________________ Then sum 程序求四位数的偶数中,所有各位数字之积(且不为是60的倍数的数之和。 星和地球在某一时刻相对于太阳处于某一确定位置,已金星绕太阳一周为225日,地球绕太阳一周为365日,两个行星至少经过多少日仍同时回到原来的位置上? 两素数之差为2,则称两素数为双胞胎素数,编程求0,1000]之间有多少对双胞胎素数。 水仙花数”是指这样的数,其各位数字的立方和等于该本身,如: 153=1^3+5^3+3^3。求100至999的范围内仙花数的个数。 水仙花数”是指这样的数,其各位数字的立方和等于该本身,如: 153=1^3+5^3+3^3。求100至999的范围内有水仙花数之和。 三位数中,个位数字与十位数字之和除以10所得的余是百位数字,且百位数字是偶数的数的个数。 三位数中,个位数字与十位数字之和除以10所得的余是百位数字,且百位数字是偶数的数的和。 = sum + i Next i Print sum End Sub Private Sub Command1_Click() sum = 0 For i = 283201000 To 9999 Step 2 d1 = i Mod 10 d2 = (i \\ 10) Mod 10 d3 = (i \\ 100) Mod 10 d4 = i \\ 1000 d = d1 * d2 * d3 * d4 If ________________Then sum = sum + i Next i Print sum End Sub Private Sub Form_Click() Dim m0&, n0& Dim m As 16425Long Dim n As Long Dim r As Long m0 = 365 n0 = 225 m = m0 n = n0 r = m Mod n While ________________ m = n n = r r = m Mod n Wend Print m0 * n0 / n End Sub Private Sub cmdTwinsPrime_Click() Dim k, prime, 20 j, i, Count As Integer FontSize = 14: FontBold = True Print: Print: Print prime = 2 For i = 200 To 1000 k = Sqr(i) For j = 2 To k If i Mod j = 0 Then Exit For Next j If j > k Then If i - prime = 2 Then Count = Count + 1 ________________ End If Next i Print Count End Sub Private Sub cmdDaffodilCount_Click() Dim i%, 4 a%, b%, c%, count% FontSize = 14: FontBold = True count = 0 i = 100 Do a = i \\ 100 b = (i - 100 * a) \\ 10 c = i Mod 10 If i = a ^ 3 + b ^ 3 + c ^ 3 Then count = count + 1 End If i = i + 1 ________________ Print count End Sub Private Sub cmdDaffodilSum_Click() Dim i%, a%, 1301 b%, c%, sum% FontSize = 14: FontBold = True Print: Print: Print sum = 0 i = 100 Do a = i \\ 100 b = i \\ 10 Mod 10 c = i Mod 10 If i = a ^ 3 + b ^ 3 + c ^ 3 Then sum = sum + i End If i = i + 1 ________________ Print sum End Sub Private Sub Form_click() Dim s As Integer Dim x 40 As Integer Dim a As Integer Dim b As Integer Dim c As Integer s = 0 x = 100 Do While x <= 999 a = Int(x / 100) b = Int(x / 10) - a * 100 c = x - a * 100 - b * 10 If ______________________Then s = s + 1 x = x + 1 Loop Print s End Sub Private Sub Form_click() Dim s As Integer Dim x 21980As Integer Dim a As Integer Dim b As Integer Dim c As Integer s = 0 x = 100 Do While x <= 999 a = Int(x / 100) b = Int(x / 10) - a * 100 c = x - a * 100 - b * 10 If Then s = s + x x = x + 1 Loop Print s End Sub 某四位数的各位数字的平方和等于100,共有多少个这Private Sub cmdFourSqr_Click() Dim a, b, c, d, 49 四位数? i, count As Integer count = 0 i = 1111 FontSize = 14: FontBold = True Print: Print: Print Do Until i > 9999 a = i \\ 1000 b = (i Mod 1000) \\ 100 c = ________________ d = i Mod 10 If 100 = a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 Then count = count + 1 i = i + 1 Loop Print count End Sub 计[521,8421]之间有多少个这样的整数,其各位数字之Private Sub cmdEveryNumCount_Click() Dim count 1126 能被7整除。 As Integer count = 0 FontSize = 14: FontBold = True For i = 521 To 8421 Select Case i Case 521 To 999 a = i \\ 100 b = i \\ 10 Mod 10 c = i Mod 10 If (a + b + c) Mod 7 = 0 Then count = count + 1 Case ________________ a = i \\ 1000 b = i \\ 100 Mod 10 c = i \\ 10 Mod 10 d = i Mod 10 If (a + b + c + d) Mod 7 = 0 Then count = count + 1 End Select Next i Print count End Sub 方程5X-4Y=2,在|X|<=100,|Y|<=50内的整数解中Private Sub Form_click() Max = 0 For x = -100 86 +|Y|最大值。 To 100 For y = -50 To 50 If 5 * x - 4 * y = 2 Then s = Abs(x) + Abs(y) ________________________________ End If Next y Next x Print Max End Sub 序功能:求个位数是6,且能被3整除的五位数的个Private Sub Command1_Click() Dim i% Dim m& i = 86 。程序中有错误,改正错误,使程序能输出正确的结0 For m = 10000 To 99999 If m Mod 3 = 0 Or m 。 Mod 10000 = 6 Then i = i + 1 End If Next m Print i 序功能:求 [200,300]之间的有奇数个不同因子的最大Private Sub Command1_Click() Dim x As Integer 289 数。程序中有错误。改正错误,使它能输出正确的结Dim i As Integer Dim n As Integer For x = 300 。 To 200 n = 0 For i = 1 To x If x Mod i = 0 Then n = n + 1 End If Next i If n / 2 <> 0 Then Print x Exit For End If Next x End Sub 首页| 下页 | 尾页|转到第 14条记录,每页显示500条记录,当前 因篇幅问题不能全部显示,请点此查看更多更全内容