试题与答案

有一个数列,它的前3个数为0,1,1,此后的每个数都是其前面3个数之和,即0,1,1

题型:单项选择题

题目:

有一个数列,它的前3个数为0,1,1,此后的每个数都是其前面3个数之和,即0,1,1,2,4,7,13,24,……
要求编写程序输出该数列中所有不超过1000的数。
某人编写程序如下:
Private Sub Form Click()
Dim i As Integer, a As Integer, b As Integer
Dim c As Integer, d As Integer
a=0:b=1:c=1
d=a+b+c
i=5
While d<=1000
Print d;
a=b:b=c:c=d
d=a+b+c
i=i+1
Wend
End Sub
运行上面的程序,发现输出的数列不完整,应进行修改。以下正确的修改是( )。

A.把While d<=1000改为While d>1000

B.把i=5改为i=4

C.把i=i+1移到while d<=1000的下面

D.在i=5的上面增加一个语句:Print a;b;c;

答案:

参考答案:D

解析: 本题使用循环输出数列,根据数列的特点,使用a、b、c来代表前三项,然后利用三者相加得到d作为第四项,接下来让b、c、d分别赋值给a、b、c作为新的前三项,这样就能继续计算后面的项了。根据程序可知,第一次循环输出第4项,第二次循环输出第5项……以此类推。与题中数列对比可以看出少输出了前三项,因此需要在循环开始前输出a、b、c的值。

试题推荐
微信公众账号搜索答案