云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > VB程序设计题库

VB程序设计题库

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 16:28:04

s = 0: n = 1

Do While n <= 20

s = s + 1 / n * (n + 1) n = n + 1 Loop

Print Format(s, \End Sub

答案:s = s + 1 / (n * (n + 1)) 33. 程序功能:求m=50时,表达式

t=1-1/(2*2)-1/(3*3)-?-1/(m*m)的值。要求:按四舍五入的方式精确到小数点后第四位。程序中有两行有错误。改正错误,使它能输出正确的结果。 0.3749 Private Sub Command1_Click()

Dim t As Single Dim m As Integer m = 2 t = 1

Do While m <= 50 t = t - 1 / m * m m = m + 1 wend

Print Format(t, \End Sub

答案:(m * m);loop

34. 程序功能:求[10,1000]之间满足除以7余5、除以5

余3、除以3余1的所有整数的个数。程序中有两行有错误。改正错误,使它能输出正确的结果。 9 Private Sub Command1_Click()

Dim x As Integer 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

答案:将所有的or改成and; next x

35. 程序功能:求1到5000之间的能被5整除的前若干

个偶数之和,直到和大于500为止。程序中有两行错误。改正错误,使它能输出正确的结果。550 Private Sub Command1_Click()

n = 0 : s = 0

For x = 2 To 5000 step 2 If x mod 5 = 0 Then s = s + x End If

If s > 500 Then Exit For Next x Print s End Sub

36. 程序功能:百钱百鸡问题。用100钱买100只鸡,公

鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。程序中有一行有错误。改正错误,使它能输出正确的结果。 3 Private Sub Command1_Click() s = 0 cock = 1

Do 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

答案:cock * 5 + hen * 3 + chick / 3 = 100(一处错) 37. 程序功能:求500以内最大的10个能被13或17整

除的自然数之和。程序中有两行有错误。改正错误,使它能输出正确的结果。 4622 Private Sub Command1_Click() 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 Then Exit Do x = x + 1 Loop Print s End Sub

答案:Or;x = x - 1

38. 程序功能:求 [10,1000]之间的所有完数之和。各

真因子之和(不包括自身)等于其本身的正整数称为完数。例如:6=1+2+3,6是完数。程序中有有错误。改正错误,使它能输出正确的结果。524 Private Sub Command1_Click() Dim sum As Integer

Dim x As Integer, k As Integer Dim i As Integer sum = 0

For x = 10 To 1000 k = x

For i = 1 To x-1 If x Mod i = 0 Then K = K - i End If Next i

If k = 0 Then sum = sum + x End If Next x Print sum End Sub

答案: x-1;k=k-i

39. 程序功能:求满足以下条件的(a,b,c)的组数:

(1) 1/(a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)a+b+c<100。程序有错误,改正错误,使程序能输出正确的结果。 (2)

Private Sub Command1_Click() s = 0

For c = 1 To 100 For b = 1 To 100 For 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 Next b Next c Print s End Sub

答案:If a + b + c < 100 And 1 / (a ^ 2) + 1 / (b ^ 2) = 1 / (c ^ 2) And a > b And b > c Then s = s + 1

40. 程序功能:求四位奇数中,各位数字之积(积不为0)

是60的倍数的数之和。程序中有一行错误,改正错误,使程序能输出正确的结果。 3456254 Private Sub Command1_Click() num1 = 0

For x = 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

5

Next x Print num1 End Sub 答案: a * b * c * d Mod 60 = 0 And b <> 0 And c <> 0 And d <> 0 41. 程序功能:有一堆零件(零件个数不超过1000),如果分成4个零件一组余2个;7个一组余3个; 9个一组余5个。求这堆零件的个数有几种可能。程序中有错误,改正错误,使程序能输出正确的结果。 4 Private Sub Command1_Click() For x = 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 答:将or变成 and End Sub 42. 程序功能:百钱百鸡问题。用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。程序中有一行有错误。改正错误,使它能输出正确的结果。 3 Private Sub Command1_Click() s = 0 cock = 1 Do 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 答案:cock * 5 + hen * 3 + chick / 3 = 100 43. 程序功能:求共有几组i、j、k符合算式ijk+kji=1534,其中i、j、k是0~9之间的一位整数。程序中有一行有错误。改正错误,使它能输出正确的结果。 5 Private Sub Command1_Click() 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 答案:i*100+j*10+k+k*100+j*10+i=1534 44. 程序功能:求所有符合算式ij*ji=1300的最小数ij。其中i、j是1~9之间的一位整数。程序中有三行错误。改正错误,使它能输出正确的结果。 25 Private Sub Command1_Click() For i = 1 To 9 For j = 1 To 9 If ij*ji = 1300 Then Print 10 * i + j Exit Sub End If Next i Next j End Sub 答案:(i * 10 + j) * (j * 10 + i);j;i

45. 程序功能:求[444,666]中最大的素数。程序中有两行有错误。改正错误,使它能输出正确的结果。661 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 答案:For x = 666 To 444 Step -1;exit for

46. 程序功能:将50元兑换成5元、2元和1元的方法的种数(每种面额至少2张)。程序中有两行有错误。改正错误,使它能输出正确的结果。 72 Private Sub Command1_Click() For x = 2 To 10 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 答案:5 * x + 2 * y + z = 50;去掉exit for 47. 程序功能:求这样的一个三位数,其个位数不大于2。若将个位数移动到百位之前(如:321移成132),新三位数大于原三位数的两倍。程序中有两行错误,改正错误,使程序能输出正确的结果。 102

Private Sub Command1_Click() For i = 0 To 9 For j = 0 To 9 For k = 0 To 2

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 答案:For i = 1 To 9; For k = 1 To 2 48. 编程求方程5X+4Y=2,在|X|<=50,|Y|<=100内的整数

解,X+Y最大值是多少? 112 (填空题)

Private Sub Form_click() Max = 0 For x = -50 To 50 For y = -100 To 100

If 5 * x - 4 * y = 2 Then s = x + y If s > Max Then Max = s Next y Next x Print Max End Sub 49. 求方程5X-4Y=2,在|X|<=100,|Y|<=50内的整数解中|X|+|Y|最大值? 86 (填空题) Private Sub Form_click() Max = 0 For x = -100 To 100 For y = -50 To 50 If 5 * x - 4 * y = 2 Then 6

s = Abs(x) + Abs(y) If s > Max Then Max = s End If Next y Next x Print Max End Sub

50. 找出1-1000之间的全部同构数的和。同构数是指一

个数,它出现在它的平方数的右端。例如,5的平方是25,5是25中右端的数,5就是一个同构数。同理,25也是一个同构数。 1114

Private Sub Command1_Click()

s = 0

For x = 1 To 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

答案:Select Case y

51. 程序功能:求字符串\中数,字

母字符的ASCII码之和。程序中有一行错误,改正错误,使程序能输出正确的结果。1113 Private Sub Command1_Click() alpha = 0

st = \For i = 1 To st

ch = Mid$(st, i, 1) Select Case ch Case \

alpha = alpha + Asc(ch) Case \

alpha = alpha + Asc(ch) End Select Next i

Print alpha End Sub

答案:Len(st)

52. 求字符串“This is my Basic”所有字符的ASCII码

之和。程序中有一行有错误。改正错误,使程序能输出正确结果。1436

Private Sub Command1_Click() Sum = 0

s = \For i = 1 To s

Sum = Sum + Asc(Mid$(s, i, 1)) Next i Print Sum End Sub

答案:Len(s)

53. 求在 1,2,3,...,100中, 任选两个不同的数,要求它

们的和能被3和7整除的数的对数(注意:3+5和5+3认为是同一对数)。 2121

Private Sub Form_Click()

Dim n As Integer, i As 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

答案:If ((i + j) Mod 3 = 0 Or (i + j) Mod 7 = 0) And i <> j Then;i=i+1 54. 一个两位数的正整数,如果将其个位数与十位数字对

调所生成的数称为其对调数,如28是82的对调数。现给定一个两位的正整数46,请找到另一个两位的整数,使这两个数之和等于它们的各自的对调数之和。这样的另一个两位数有多少个。程序中有两行有错误。改正错误,使它能输出正确的结果。8 Private Sub Form_Click()

Dim x As Integer, y As Integer, number As Integer Dim xf As Integer, yf As Integer number = 0 x = 46

xf = (x Mod 10) * 10 + Int(y/ 10) For y = 10 To 99

yf = (y Mod 10) * 10 + Int(y / 10) If x + y = xf + yf Then number = number + 1 End If Next y

Print number End Sub

答案:x(只有一处错误) 55. 程序功能:若某整数N的所有因子之和等于N的倍数,

则N称为多因子完备数,如数28,其因子之和

1+2+4+7+14+28=56=2*28,28是多因子完备数。求[1,200]之间有多少个多因子完备数。改正错误,使它能输出正确的结果。 4 Private Sub Command1_Click() Dim N As Integer 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 i Mod N <> 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

答案:i Mod N = 0; s Mod N = 0

56. 若一个四位正整数是另一个正整数的平方,且各位数

字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于7396=86^2,且7+3+9+6=25=5^2,则称7396是“四位双平方数”。求最小的 “四位双平方数”。程序中有行一有错误。改正错误,使它能输出正确的结果。1521 Private Sub Command1_Click() For x = 1000 To 9999

7

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 Sqr(x) = Int(Sqr(x)) And Int(Sqr(a + b + c + d)) = Sqr(a + b + c + d) Then Print x Exit For End If Next x End Sub

答案:Int(Sqr(a + b + c + d)) = Sqr(a + b + c + d) 57. 程序功能:求10的阶乘,程序中有一行有错误。改

正错误,使它能输出正确的结果。3628800 Private Sub Command1_Click() Print fun(10) End 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 答案:n=0

58. 程序功能:求整数2310的所有质因子(即所有为素

数的因子)之和。程序的Isprime()函数中有一行有错误。改正错误,使它能输出正确的结果。28 Private Sub Command1_Click() 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) 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 答案:flag

59. 计算两个数的最大公约数。程序中有一行有错误,改

正错误,使程序能输出正确结果。27 Private Sub Command1_Click() Print 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

答案:t;同时将现有的t = u Mod v分移到while之前和v=t之后。(不只一个错误)

60. 程序功能: 建立一个过程来计算12的阶乘,程序中

有错误,改正错误,使程序能输出正确的结果。479001600

Private Sub Command1_Click() Call n(12) End Sub

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

答案:long;f=1

61. 程序功能:计算两个数的最小公倍数。程序中有两行

有错误,改正错误,使程序能输出正确结果。26288 Private Sub Command1_Click() Print fun(248, 848) End Sub

Private Function fun(u, v) t = u

Do While t Mod u <> 0 Or t Mod v <> 0 t = t + u Loop fun =u

End Function 答案:fun=t

8

搜索更多关于: VB程序设计题库 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

s = 0: n = 1 Do While n <= 20 s = s + 1 / n * (n + 1) n = n + 1 Loop Print Format(s, \End Sub 答案:s = s + 1 / (n * (n + 1)) 33. 程序功能:求m=50时,表达式t=1-1/(2*2)-1/(3*3)-?-1/(m*m)的值。要求:按四舍五入的方式精确到小数点后第四位。程序中有两行有错误。改正错误,使它能输出正确的结果。 0.3749 Private Sub Command1_Click() Dim t As Single Dim m As Integer m = 2 t = 1 Do While m <= 50 t = t - 1 / m * m m = m + 1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com