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;
查看答案
正确答案
试题解析
由n!的数字定义可知n!=n*(n-1)*(n-2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以l,2,3,…,n,最后计算得到f=n!=0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以l,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为l,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项C不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。