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

题目

下列给定程序中,函数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));

}


相似考题
更多“下列给定程序中,函数fun()的功能是:计算整数n的阶乘。 请改正程序中的错误,使它能得出正确的结果。 ”相关问题
  • 第1题:

    给定程序MODll.C中函数fun的功能是:找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)k=i; (2)c=k%10;
    (1)k=i; (2)c=k%10; 解析:本题中函数的功能是找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中。分解三位数的正整数n的个位和十位数和百位,可用n%10求得个位数,n/10然后n%10求得十位数,百位数也可依此计算。

  • 第2题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。

    例如,若m中的值为:5,则应输出:0.536389。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)for(i=2; i=m; i++)(2)y-=1.0/(i*i);
    (1)for(i=2; i=m; i++)(2)y-=1.0/(i*i); 解析:该程序功能是根据题目要求计算公式。从已给定源程序的main主函数开始入手,“printf("\nThe result is%lfin",fun(n));”语句中的fun(n)将参数n传给函数double fun(int m)中的m,实现公式的计算结果。

  • 第3题:

    下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。

    例如,若m中的值为5,则应输出0.536389。

    请改正程序中的错误,使它能得出正确的结果。

    注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

    试题程序:


    正确答案:
    【参考答案】(1)for(i=2;i<=m;i++)(2)Y一=1.0/(i*i);【解题思路】(1)使用for循环计算公式,必须计算到m,所以应改为foKi=2;i<=m;i++)。(2)在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此应改为Y一=1.0/(i*i)。

  • 第4题:

    给定程序MODll.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)for(i=1; i<=y; i++) (2)t=t%1000;
    (1)for(i=1; i<=y; i++) (2)t=t%1000; 解析:本题中函数的功能是求整数x的y次方的低3位值。本题解题过程首先是求y次方,然后对结果进行截取。

  • 第5题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m,计算如下公式的值。

    例如,若m中的值为:5,则应输出:1.463611。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)for(i=2; i=m; i++)(2)y+=1.O/(i*i);
    (1)for(i=2; i=m; i++)(2)y+=1.O/(i*i); 解析:该题中函数功能是计算公式的值。其中,公式中涉及在循环中对各项的计算及累加求和。从已给定源程序的main主函数开始入手,“printf(〝\nThe result is%1f\n〞,fun(n));”语句中调用fun函数,计算公式的值。