为计算1+2+22+23+24+…+2m的值,并把结果显示在文本框Text1中,若编写如下事件过程: Private Sub Command1 Click() Dim a&,s&,k& s=1 a=2

admin2019-07-30  20

问题 为计算1+2+22+23+24+…+2m的值,并把结果显示在文本框Text1中,若编写如下事件过程:
    Private Sub Command1 Click()
        Dim a&,s&,k&
        s=1
        a=2
        For k=2 To 10
          a=a*2
          s=s+a
        Next k
        Text1.Text=s
    End Sub
执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是(    )。

选项 A、把s=1改为s=0
B、把For k=2 To 10改为For k=1 To 10
C、交换语句s=s+a和a=a*2的顺序
D、把For k=2 To 10改为For k=1 To 10,交换语句s=s+a和a=a*2的顺序

答案D

解析 程序应该计算的是2的0次方到2的10次方的和,程序少计算了2的1次方,应该先累加,再执行a=a*2,并且将For k=2 to 10改为For k=1 to 10,这样最后一次循环2的10次方的值能正确累加,然后循环结束。因此答案为D。
转载请注明原文地址:https://kaotiyun.com/show/9pUp777K
0

最新回复(0)