参考答案和解析
正确答案:D
A项不成立,因为f=0,乘以任何数都为0,B项的判断条件错误,i<n,计算的结果为(n-1)!,C项也不对,计算的是一个无限循环,n*(n+1)*(n+2)…….
更多“设变量已正确定义,则以下能正确计算f=n!的程序段是( )。A)f=0;B)f=1; for(i=1;i&lt;=n;i++) f*=i; ”相关问题
  • 第1题:

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

  • 第2题:

    设变量已正确定义,则以下能正确计算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
    解析:n!=n,(n-1)*…*2*1,由于选项A)中f的初值为0,所以循环n次后,f的值依然为0,故选项A)错误;选项B)中循环的终止条件是in,即只执行n-1次循环,得到的f值为(n-1)*…*2*1的结果,故选项B)错误;在选项C)中,当n>1时,由于初值i=n符合条件i>1,且增量为+1,故循环中永远不会出现不满足条件i>1的值,出现死循环。

  • 第3题:

    设变量已正确定义,则以下能正确计算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,因为0乘任何数都为0;B选项,i<n,计算的是(n-1)!

  • 第4题:

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。 A.f=0; for(i=1;i<=n;i++)f*=i;SXB

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

  • 第5题:

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


    f=1; for(i=n; i>=2; i--)f*=i;