问题
问答题
给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。
例如,若m中的值为5,则应输出:1.463611。
请改正程序中的错误,使它能得到正确结果。
[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#include<stdi0.h>
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%1f\n",fun(n));
答案
参考答案:
(1)错误:for(i=2; i<m; i++)
正确:for(i=2; i<=m; i++)
(2)错误:y+=1/(i*i)
正确:y+=1./(i*i)
错误2:在除法运算中,如果除数和被除数都是整数,所以所除结果也是整数,因此应改为y+=1./(i*i)。
解析:
错误1:由C语言的基础知识可以知道,使用for循环计算公式,必须计算到m,所以应改为for(i=2;i<=m; i++)。