单选题 以下程序的功能是计算并输出两个整数的最大公约数。 Private Sub a1() Dim x As Integer,y As Integer,t As Integer x=InputBox("请输入x的值") y=InputBox("请输入y的值") Do ________ x=y y=t Loop While(t<>0) Debug.Print_______ End Sub 有如下语句: ①t=x②t=y③t=x\y ④t=x Mod y ⑤x ⑥y ⑦t ⑧x/y 程序中有两个横线,将程序补充完整的正确语句是( )。
【正确答案】 D
【答案解析】解析:本题考查Do循环语句。最大公约数是指某几个整数的共有公约数中最大的那个数。如15和20这两个数的最大公约数为5。程序段首先从键盘接收两个整数赋值给x和y,然后执行语句t=x Mod y进行取余数运算。 如果x小于y,余数为x,赋值给t,然后用x=y、y=t语句交换x和y的值,返回的Do循环开始重新执行循环语句t=x Mod y。 如果x大于y,则直接进行取余数运算,如果余数不是0,执行语句t=x Mod y,x=y,y=t,直到t为0时,y就是两个数的最大公约数。故本题答案为D。