P18 7循环结构

来源:百度知道 编辑:UC知道 时间:2024/05/04 08:06:31
能正确计算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=1;i>n;i++)f*=i;
d)f=1;
for(i=1;i>=2;i--)f*=i;
求详解过程

这一题应该是想选B的,但是B的答案有一个小错误

A错误,f初始化为0的话,会导致f乘以任何数结果都为0,结果不对

B应该是这个,但是答案有一个小错误,
for(i=1;i<n;i++)f*=i;
应该改成:
for(i=1;i<=n;i++)f*=i;
否则的话,算的是(n-1)!,而不是n!

C和D错误判断条件错误

a错误,当n=0时,计算的结果本应该是1,而a的结果是0
b错误,当n=2时,计算的结果本应该是2,而b的结果是1
c和d显然错误,for循环一次都不会执行。

因此没有正确答案。