-cfyjbjonn 2019-01-04 19:30 采纳率: 57.1%
浏览 3214
已采纳

简单问题求解答:c语言梯形法求定积分

题目:按如下函数原型,采用梯形法编程实现,在积分区间[a,b]内计算函数y1=∫10(1+x2)dx和y2=∫30x1+x2dx的定积分。其中,指向函数的指针变量f用于接收被积函数的入口地址。
Integral(float (*f)(float), float a, float b);
**输出格式要求:"y1=%f\ny2=%f\n"

我的答案:请问哪里错了?
#include
#define n 10000

float y1(float x)
{
float y;
y = x*x + 1;
return y;

}

float y2(float x)
{
float y;
y = x/(x*x + 1);
return y;

}

Integral(float (*f)(float), float a, float b)
{
int i;
float w;
float h = (b-a)/n;
float s = f(a)+f(b);
for(i = 1;i < n; i++)
{
s += f(a + i*h);
}
w = s*h /2;
return w;

}

main()
{
float y11;
y11 = Integral( y1 , 0, 1);

float y22;
y22 = Integral( y2 , 0, 3);

printf("y1=%f\ny2=%f\n",y11,y22);
return 0;

}

  • 写回答

1条回答

  • _ZGq 2019-01-04 19:38
    关注

    C语言是不允许对于函数指针f调用f()的(不过C++允许),如果要调用就用(*f)()。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 vc6.0中想运行代码的时候总是提示无法打开文件是怎么回事
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题