单选题
设变量已正确定义,则以下能正确计算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
【答案解析】
[解析] 选项A中,f初值设为0。则执行循环体后,所得的乘积值始终为0,不符合题意。选项B中,for循环条件是i<n,则当i为n时即退出循环,所以求得的乘积值是(n-1)!,也不符合题意。选项C中,i的初值为n,且i在每次执行循环体后都增加1,则如果n为大于1的数,程序会陷入死循环。只有选项D符合题意,求得f的值为n*(n-1)*(n-2)*…*2,即n!。
提交答案
关闭