某人设计了下列程序用于计算并输出5!(5的阶乘):Private Sub Command1_Click()t=0For k=5 To

题目

某人设计了下列程序用于计算并输出5!(5的阶乘):

Private Sub Command1_Click()

t=0

For k=5 To 2 Step -1

t=t*k

Next k

Print t

End Sub

执行程序时,发现结果是错误的。下列修改方案中能够得到正确结果的是_______

A. 把t=0改为t=1

B. 把For k=5 To 2 Step -1改为For k=5 To 1 Step -1

C. 把For k=5 To 2 Step -1改为For k=1 To 5

D. 把Next改为Next t

参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 27 )下面程序执行时,在窗体上显示的是

Private Sub Command1_Click()

Dim a(10)

For k = 1 To 10

a(k) = 11 – k

Next k

Print a(a(3)\a(7) Mod a(5))

End Sub

A ) 3

B ) 5

C ) 7

D )9


正确答案:D

第2题:

下面运行程序后,单击命令按钮,输出的结果是 【 】 。

Private Sub Command1_Click()

Dim a%(1 To 5),i%, s#

For i=1 To 5

a(i)=i

Next

s=Fun(a)

Print "s="; s;

End Sub

Function Fun(a() As Integer)

Dim t#, i%

t=1

For i=LBound(a) To UBound(a)

t=t  a(i)

Next

Fun=t

End Function


正确答案:S=120
S=120 解析:程序首先调用循环语句为数组a、b赋值,其中a(i)=i;b(i)=i,且数组a的上下界分别为1和5,接着将数组a作为参数调用Fun过程,在Fun过程中,定义了两个变量t及i,i作为循环语句For的变量,它的初始值和终值分别为数组的上下界,循环体为t = t*a(i),即将a(i)的值乘以t,然后再赋给t,当循环结束后,程序返回的就是数组a中各元素的积,输出结果为:s=120。

第3题:

阅读下列程序:

Private Sub Command1_Click()

Dim i As Integer, k As Integer

k=2

For i=1 To 3

Print H(k) ;

Next i

End Sub

Function H(j As Integer)

a=0

Static b

a=a + 1

b=b + 1

H=a*b + j

End Function

程序运行后,单击命令按钮输出结果是( )。

A.2 3 4

B.3 4 5

C.5 6 7

D.3 5 6


正确答案:B

第4题:

假定有如下的Sub过程: Sub Func(x As Single, y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single Dim b As Single a=6 b=5 Func(a, B) Print a, b End Sub 程序运行后,单击命令按钮,输出结果为 ______。

A.6 5

B.1 1

C.1.2 5

D.1.2 1


正确答案:D
解析:Visual Basic的函数参数默认的方式是传地址的,所以函数s对参数做的改变会反映到原来的变量里。

第5题:

窗体上有一个命令按钮,命令按钮的单击事件过程如下: Private Sub Command1_Click() Dim a a=Array(1,2,3,4,5) For k=1 To 4 s=s+a(k) Next Print S End Sub 运行程序后,单击命令按钮,输出结果是

A.10

B.14

C.15

D.120


正确答案:B
解析:考查考生对数组定义的掌握程度。
  [解题要点] Array函数在默认的情况下,数组的下标从O开始,所以s=a(1)+a(2)+a(3)a(4)=2+3+4+5=14
  [考点链接] 数组的定义、赋值和应用。

第6题:

阅读程序:

Private Sub Command1_Click()

A=0

For j=1 to 15

a=a+j mod 3

Next j

Print a

End Sub

程序运行后,单击窗体,输出结果是

A )105

B)1

C)120

D)15


正确答案:D

第7题:

以下能够正确计算n!的程序是

A.Private Sub Command1 Click() n=5:x=1 Do x=x * I I=I + 1 Loop While I < n Print x End Sub

B.Private Sub Command1_Click() n=5:X=1:I=1 Do X=X*I I=I + 1 Loop While I <n Print x End Sub

C.Private Sub Command1_Click() n=5:X=1:I=1 Do X=X * I I=I + 1 Loop While I<=n Print X End Sub

D.Private Sub Command1_Click() n=5:X=1:I=1 Do x=x * I I=I + 1 Loop While I>n Print X End Sub


正确答案:C
解析:n!=1×2×3×…×(n-1)×n,由于是累乘,因此x和i的初值都必须为1;其次就是循环执行条件的确定,由于使用的是While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是i=n。

第8题:

以下能够正确计算n!的程序是( )。

A.Private Sub Command1_Click()

n=5: x=1

Do

x=x * I

I=I + 1

Loop While I < n

Print x

End Sub

B.Private Sub Command1_Click()

n=5: x=1: I=1

Do

x=x * I

I=I + 1

Loop While I < n

Print x

End Sub

C.Private Sub Command1_Click()

n=5: x=1: I=1

Do

x=x * I

I=I + 1

Loop While I <=n

Print x

End Sub

D.Private Sub Command1_Click()

n=5: x=1: I=1

Do

x=x * I

I=I + 1

Loop While I > n

Print x

End Sub


正确答案:C

第9题:

下面运行程序后,单击命令按钮,输出出的结果是【 】。

Private Sub Command1_Click( )

Dim a% (1 To 5) ,i%, s

For i = 1 To 5

a(i) =i

Next

s = Fun(a)

Print"s="; s;

End Sub

Function Fun(a() As Integer)

Dim t, i%

t=1

For i = LBound(A0To UBound(a)

t=t * a(i)

Next

Fun =t

End Function


正确答案:s1=24 s2=360
s1=24 s2=360 解析:程序首先调用循环语句为数组a、b赋值,其中a(i)=i;b(i)=i,且数组。的上下界分别为1和5,接着将数组。作为参数调用Fun过程,在Fun过程中,定义了两个变量t及i,i作为循环语句For的变量,它的初始值和终值分别为数组的上下界,循环体为t =t*a(i),即将a(i)的值乘以t,然后再赋给t,当循环结束后,程序返回的就是数组。中的各元素的积,输出结果为:s=120。注意:函数调用和参数传递。

第10题:

某人设计了如下程序用来计算并输出7!(7的阶乘)

Private Sub Command1 Click( ) t=0 For k=7 To 2 Step-1 t=t*k Next Print t End Sub 执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结果的是( )。

A.把t=0改为t=1

B.把For k=7 To 2 Step-1改为For k=7 T0 1 Step-1

C.把For k=7 To 2 Step-1改为For k=1 T0 7

D.把Next改为Next k


正确答案:A
A。【解析】由于t=t*k,若t=0,则循环的结果只能是0,不可能得到7的阶乘,所以应将t=0改为t=1。

更多相关问题