1、VB题库如果位置错误给出提示,否则分别显示删除前后的数组元素Private Sub Form_Click()Dim A(10) As Integer, X As Integer, i As Integer, k As IntegerFor i = 1 To 10 A(i) = Int(Rnd * 90) + 10 Print A(i);Next iPrintX = InputBox(请输入要删除第几位数字)*FOUND*If X 0 And X 0 Then*FOUND* For k = X To 9 For k = x To 10 A(k) = A(k + 1) Next k Print 删
2、除后的数组: For i = 1 To 9 Print A(i); Next iElse Print 删除位置错误*FOUND*End If EndEnd Sub题目:在下列程序段中,过程fb可以显示任意长度的菲波那契数列,现要求通过键盘输入一数字,利用该过程显示不超过指定数字大小的数列-注意:不可增加或删除程序行,也不可以更改程序结构-Option ExplicitPrivate Sub Form_Click()Dim X As IntegerX = Val(InputBox(请指定显示范围)*FOUND*Call fb(X) call fb yEnd SubPublic Sub fb(X
3、As Integer)Dim i&, j%, k%j = 1i = 1Print i; j;k = i + j*FOUND*Do Until k X Do While k xPrint k;i = jj = k*FOUND*k = i + j k = i - jLoopEnd Sub题目: 下面的程序段用于实现以下功能: 建立一顺序文件,存放10名同学的学号和三门功课成绩,显示该文件内所有记录, 并同时显示其总分和平均分-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim no%, c1%, c2%, c3%, i As Integer*F
4、OUND*Open c:2.txt For Output As #1 Open c:2.txt For Input As #1For i = 1 To 3no = InputBox(请输入学号)c1 = InputBox(请输入数学成绩)c2 = InputBox(请输入语文成绩)c3 = InputBox(请输入外语)Write #1, no, c1, c2, c3Next iClose #1*FOUND*Open c:2.txt For Input As #1 Open c:2.txt For Output As #1For i = 1 To 3*FOUND*Input #1, no, c
5、1, c2, c3 Print #1, no, c1, c2, c3Print no, c1, c2, c3, c1 + c2 + c3, (c1 + c2 + c3) / 3Next iClose #1End Sub题目:以下程序段用于输出100-300的所有素数-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim N As Integer, k As Integer, i As Integer, swit As IntegerFor N = 101 To 300 Step 2 k = Int(Sqr(N) i = 2*FOUND* sw
6、it = 0 swit = 1*FOUND* While swit = 1 While swit = 0 If N Mod i = 0 Then swit = 1 Else*FOUND* i = i + 1 i = i - 1 End If WendIf swit = 0 Then Print N; If N Mod 7 = 0 Then PrintEnd IfNext NEnd Sub题目: 在下面的程序段中过程pd可以判断任意三个数能 否构成三角形的三边,利用该过程的判定结果, 对能构成三角形的计算其面积,构不成的显示 不能构成三角形-注意:不可增加或删除程序行,也不可以更改程序结构-Op
7、tion ExplicitPrivate Sub Form_Click()*FOUND*Dim X%, Y%, z%, s!, b As Boolean, h As Single Dim x%, y%, z%, s%, b As Boolean, h As SingleX = InputBox(请输入三角形的边长)Y = InputBox(请输入三角形的边长)z = InputBox(请输入三角形的边长)b = pd(X, Y, z)h = (X + Y + z) / 2*FOUND*If b Then If Not b Then s = Sqr(h * (h - X) * (h - Y) *
8、 (h - z) Print 三角形面积是; sElse Print 不能构成三角形End IfEnd Sub*FOUND*Public Function pd(X%, Y%, z%) As Boolean Public Function pd() As BooleanIf X 0 And Y 0 And z 0 And X + Y 0 And X + z Y And Y + z X Then pd = TrueElse pd = FalseEnd IfEnd Function题目: 以下程序段用于打印如下图形式的九九乘法表:-注意:不可增加或删除程序行,也不可以更改程序结构-Private
9、Sub Form_Click()Dim i As Integer, j As Integer, k As IntegerPrint Tab(30); 9*9 tablePrint: PrintPrint * ;For i = 1 To 9*FOUND* Print Tab(i * 6); i; Print Tab(i * 6); iNext iPrintFor j = 1 To 9 Print j; ;*FOUND* For k = 1 To 9 For k = 1 To 9(可能会根据图的样式更改为j To 9或1 To j)*FOUND* Print Tab(k * 6); j * k;
10、; Print Tab(j * 6); j * k; ; Next k PrintNext jEnd Sub题目:一个两位的正整数,如果将它的个位数与十位数 对调,则产生另一个正整数,我们把后者叫做前 者的对调数,现给定一个两位的正数,请找到另 一个两位的正整数,使得这两个两位正整数之和 等于它们各自的对调数之和。例如; 12+32=23+21。下面程序把具有这种特征的一对对 两位正整数都找出来。-注意:不可增加或删除程序行,也不可以更改程序结构-Option ExplicitPrivate Sub Form_Click()Dim k As Integer, g As Integer, h A
11、s Integer, M As IntegerDim N As Integer, i As Integer, T As Integer, s As Integer, j As Integerk = InputBox(请输入一个两位数)k = Val(k)g = Int(k / 10)*FOUND*h = k - g * 10: M = h * 10 + g h = k - g * 10 m = h * 10 + gPrintPrint 输入的两位数是; kPrint*FOUND*For N = 11 To 99 For n = 1 To 99 i = Int(N / 10) j = N - i
12、 * 10 T = i * 10 + j s = j * 10 + i If k + N = M + s Then Print ; k; +(; T; )=(; s; )+; M*FOUND* End If EndNext NEnd Sub题目:求s=1!+3!+5!+7!,阶乘的计算用Function过程 fact实现.-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim i As Integer, s As Integer*FOUND*For i = 1 To 7 Step 2 For i = 1 To 7 s = s + fact(i
13、)Next iPrint sEnd Sub*FOUND*Public Function fact%(N%) Public Function fact()Dim T As Integer, i As IntegerT = 1For i = 1 To NT = T * iNext i*FOUND*fact = T fact = iEnd Function题目:下面的程序段的功能是:读入八进制数,将其转 换成把十进制数-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim oct_num As StringDim length As Integer
14、, s As Integer, N As Integer, i As Integer, d As String, j As Stringoct_num = InputBox(请输入一八进制数)*FOUND*length = Len(oct_num) length = length(oct_num)s = 0N = 0*FOUND*For i = length To 1 Step -1 For i = length To 1 d = Mid(oct_num, i, 1) s = s + d * 8 N N = N + 1*FOUND*Next i Next jPrint 十进制数是:; sEnd
15、 Sub题目: 以下程序段用于计算货物运费?设货物运费每吨 单价p元与运输距离s公里之间有如下关系:-注意:不可增加或删除程序行,也不可以更改程序结构-Option ExplicitPrivate Sub Form_Click()Dim w!, s!Dim P As Currency, T As Currencyw = InputBox(请输入货物重量)s = InputBox(请输入托运距离)Select Case s Case Is 100 P = 30*FOUND* Case Is 200 P = 27.5 Case Is 300 P = 25 Case Is A(N) Then T =
16、 N If a(t) a(n) Then n = t Next N*FOUND* If T M Then If t = m Then w = A(M) A(M) = A(T) A(T) = w End IfNext MFor M = 1 To 7 Print A(M); ;Next MEnd Sub题目: 下面程序可输出如下图形: * * * * *-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim M As Integer, N As Integer, s As String, i As Integer, j As IntegerN =
17、 4M = 1s = *For i = 5 To 1 Step -1*FOUND*Print Spc(i); Print Spc(n)For j = 1 To 2 * M - 1 Print s;Next jPrint*FOUND*N = N - 1 n = n + 1*FOUND*M = M + 1 m = m - 1Next iEnd Sub题目:下面的程序段用于删除数组中指定位置的数字, 如果位置错误给出提示,否则分别显示删除前 后的数组元素-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim A(10) As Integer, X
18、As IntegerDim i As Integer, k As IntegerFor i = 1 To 10 A(i) = Int(Rnd * 90) + 10 Print A(i);Next iPrintX = InputBox(请输入要删除第几位数字)*FOUND*If X = 0 And X = 10 Then*FOUND* For k = X To 9*FOUND* A(k) = A(k + 1) Next k Print 删除后的数组: For i = 1 To 9 Print A(i); Next iElse Print 删除位置错误End IfEnd Sub题目:该程序实现将输
19、入的 0 - 255 之间的正整数转 换成二进制数-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click() Const N = 8 Dim A(N) As Integer, s As String, M As Integer, X As Integer X = Val(InputBox(请输入一个 0 - 255 之间的正整数:) Print X*FOUND* For M = 0 To N For m = 1 To n A(M) = X Mod 2*FOUND* X = X 2 x = x / 2 Next M s = For M = N To 0 Step -1*FOUND* s = s + Str(A(M) s = Str(a(m) Next M Print s End Sub题目: 以下程序段用于计算5的N次方?-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Cli
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1