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

admin2020-06-02  32

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

例如,若m中的值为5,则应输出0.536389。
    请改正程序中的错误,使它能得出正确的结果。
    注意:部分源程序在文件NODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
#include<stdoio.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%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://jikaoti.com/ti/TuG0FFFM
0

最新回复(0)