问题 单项选择题

设变量已正确定义,则以下能正确计算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

解析: 本题考查的是for循环的应用.n!表示1*2*3…*n.因此,for循环应该遍历1(或者2)到n的范围,而f的初始值应该为 1,然后让f累乘每次循环的循环变量即可。选项A让f初始化为0不正确,因为0乘以任何数都为0,最后结果肯定是0;选项B的循环变量是从1~n-1,也不对;选项C的for循环是一个死循环;选项D的循环从n递减到2故满足要求,所以选D。

选择题
单项选择题