下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。 例如,若m中的值为5,则应输出0.536389。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,

admin2016-12-06  37

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

    例如,若m中的值为5,则应输出0.536389。
    请改正程序中的错误,使它能得出正确的结果。
    注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
1  #include<stdio.h>
2   double fun(int m)
3   {double y=1.0 ;
4    int i;
5   /*********found*********/
6    for(i=2;i<m;i++)
7  /*********found*********/
8    y-=1/(i*i);
9   return(y);
10    }
11    main()
12    {int n=5 ;
13   printf(’’\nThe result is%lf\n’’,fun(n));
14   }

选项

答案(1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i);

解析 (1)使用for循环计算公式,必须计算到m,所以应改为for(i=2;i<=m;i++)。
(2)在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此应改为y-=1.0/(i*i)。
转载请注明原文地址:https://jikaoti.com/ti/mEi0FFFM
0

最新回复(0)