使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。 例如,若m中的值为5,则应输出0.536389。 请改正程序中的错误,使

admin2018-08-11  35

问题 使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。

例如,若m中的值为5,则应输出0.536389。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
double fun(intm)
{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));
}

选项

答案(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://kaotiyun.com/show/1Vxp777K
0

最新回复(0)