问答题 给定程序MODI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1 - ----- - ----- - …… - ----- 2*2 3*3 m*m 例如,若 m 中的值为: 5,则应输出: 0.536389。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include double fun ( int m ) { double y = 1.0 ; int i ; /**************found**************/ for(i = 2 ; i < m ; i++) /**************found**************/ y -= 1 /(i * i) ; return( y ) ; } main( ) { int n = 5 ; printf( "/nThe result is %lf/n", fun ( n ) ) ; }
【正确答案】第一处:使用for循环计算公式,必须计算到m,所以应改为for(i=2; i<=m; i++)。 第二处:在除法运算中,如果除数和被除数都是整数,所么所除结果也是整数,因此应改为y-=1./(i*i)。
【答案解析】