作业帮 > 综合 > 作业

C语言中的f=n!还有下面的题目为什么选D,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 16:10:21
C语言中的f=n!还有下面的题目为什么选D,
假设变量已正确定义,则以下能正确计算f=n!的程序段是( D ).
A)f=0; B)f=1;
for(i=1;i=2;i--) f*=i;
答案D是对的.
n!就是n的阶乘,也就是n(n-1)(n-2)……2*1.如果n=5,n!=5*4*3*2*1或者5*4*3*2,都一样嘛.

题目中,f的作用是存储每次乘积的值.首先排除A,A中f=0,每次相乘都是0.比如5!吧,第一次应该是f=f*5,f初值是0,那么等号左边的f被赋值后还是0,最后结果永远是0,算不出值来.
B错误原因,就是i=2就好比n!=n(n-1)(n-2)……2,5!=5*4*3*2,没有*1,但是结果是一样的.
注意,如果n输入0是不进入for循环的,直接f=1输出即可.因为0!=1.