给定程序MODll.C中函数fun的功能是:根据整型形参m,计算如下公式的值。 例如,若m中的值为:5,则应输出:1.463611。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行。也不得更

admin2013-03-29  71

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

    例如,若m中的值为:5,则应输出:1.463611。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行。也不得更改程序的结构!
#include
double fun(int m)
{double y=1.0 ;
  int i;
/******************found*******************/
  for(i=2;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++) (2)y+=1.0/(i*i);

解析 (1)根据题干中给出的公式,可以看到循环是从2到m,所以第一个标识下的“for(i=2;i    (2)fun函数中定义y为浮点型,而“1/(i*i)"返回整型,随着i的增加,计算结果一直为0,因此得不出最后正确结果。应将“y+=1/(j*i);"整型改为“y+=1.0/(i*i);"浮点型。
转载请注明原文地址:https://jikaoti.com/ti/9Bn0FFFM
0

最新回复(0)