下列给定程序中,函数fun()的功能是:计算整数n的阶乘。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> d

admin2013-06-12  27

问题 下列给定程序中,函数fun()的功能是:计算整数n的阶乘。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
    #include <stdio.h>
   double fun(int n)
   {
    double result=l.0;
    whil (n>l&&n<170)
    /**************found********************/
        result*=--n;
    /**************found********************/
    return;
   main()
   {int. n;
   clrscr();
   printf("Enter an integer:  ");
   scanf("%d",&n);
   printf("\n\n%d!=%lg\n\n ",n, fun(n));
  }

选项

答案(1)错误:result*=--n; 正确:result*=n--; (2)错误:return; 正确:return result;

解析 该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无需相乘):注意:o和1的阶乘都等于1,可用条件语句和循环语句实现上述功能。
转载请注明原文地址:https://jikaoti.com/ti/iVn0FFFM
0

最新回复(0)