问题 单项选择题

设变量已正确定义,则以下能正确计算f=n!的程序是( )。

A.f=0;
for(i=1; i<=n; i++)f*=i;

B.f=1;
for(i=1; i<n; i++)f*=i;

C.f=1;
for(i=n; i>1; i++)f*=i;

D.f=1;
for(i=n; i>=2; i--)f*=i;

答案

参考答案:D

解析: 由n!的数字定义可知n!=n*(n-1)*(n=2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n! =0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……所以选项C不正确。在选项D中,f的初值为1,在for循环语句中,f依次乘以n,n-1,n 2.…,2。最后计算得到f=n!,所以选项D正确。

单项选择题
问答题 简答题