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

admin2020-06-02  67

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

  例如,若m=2000,则应输出0.000160。
  请改正程序中的错误,使它能得出正确的结果。
  注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
  试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdoo.h>
/********found********/
fun(int m)
{double y=0,d;
  int i;
/*********found*********/
  for(i=1 0 0,i<=m,i+=100)
    {d=(double)i*(double)i;
    y+=1.0/d;
    }
    return(y);
}
Void main()
{int n=2000;
  system("CLS");
  printf("\nThe result is%lf\n",fun(n));
}

选项

答案 (1)double fun(int m) (2)for(i=100;i<=m;i+=100)

解析 (1)题目要求在函数fun中求级数前m项和,可用循环语句,每次计算级数中的一项,然后累加。第一处错误在于定义fun(int m),由函数的返回值y可知此处应该定义为double fun(int m)。
    (2)for(i=100,i<=m,i+=100)中是一个简单的语法错误。for循环语句的形式为for(表达式1;表达式2;表达式3),其表达式之间应以";"相隔。
转载请注明原文地址:https://kaotiyun.com/show/3eCp777K
0

最新回复(0)