以下能够正确计算n!的程序是( )。
A.Pfivate Sub Commgld1_LClick() n=5:x=1 Do x=x*1 i=i+1 Loop Whilei<n Prmt x End Sub
B.Pfivate Sub Command1_ C1ick() n=5:x=1:i=1 DoX=X*1 i=i+1Loop While i<=n Print x End Sub
C.Private Sub Command1_Click() n=5:x=1:i=1 Do x=x*1 i=i+1 Loop Whilei<n Print x End Sub
D.Private Sub Command1_C1ick() n=5:x=1:i=1 Do X=X*1 i=i+1 Loop While i>n Print x End Sub
参考答案:C
解析: 本题考查Do While语句的用法。首先我们知道n!=1×2×3×……×(n-1)×n,由于是累乘,因此x和i的初值都必须为1;其次就是循环执行条件的确定,由于使用的是 While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是 i<=n。选项A和B的循环条件都是i<n,少了 i=n的一次循环,实际上只执行了n-1次:而选项D则从i>n时才开始执行,不合题意;同时,选项B没有指定i的初值,系统会默认i =0,这也不合题意。本题正确答案为选项C。