标题:用矩形法求定积分,输出结果全是零,不知道错在哪
取消只看楼主
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
结帖率:85.71%
已结贴  问题点数:20 回复次数:6 
用矩形法求定积分,输出结果全是零,不知道错在哪
#include <stdio.h>
#include <math.h>
static double definite_integral(int a,int b,double (*p)(double));//a,b是定积分上下限
int main()
{
    printf("sinx在0到1上的积分值是:%7.4lf\n",definite_integral(0,1,sin));
    printf("cosx在0到1上的积分值是:%7.4lf\n",definite_integral(0,1,cos));
    printf("e^x在0到1上的积分值是:%7.4lf",definite_integral(0,1,exp));
    return 0;
}
static double definite_integral(int a,int b,double (*p)(double))
{
    double fx=0;
    double n;
    double c,d;
    for(n=1;n<=1000;n++)//矩形法求定积分的值
    {
        c=a+(b-a)/1000*n;
        d=(*p)(c);
        fx=fx+(b-a)/1000*d;
    }
    return fx    ;
}
搜索更多相关主题的帖子: return double include 
2017-02-15 12:35
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
得分:0 
回复 3楼 rjsp
神了,改了就对了,请教以下为什么

............
2017-02-15 18:07
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
得分:0 
回复 2楼 yangfrancis
额,问题好像不在这

............
2017-02-15 18:07
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
得分:0 
回复 6楼 wp231957
这个我懂,那为什么把一个实数赋值给一个整型变量就可以,而将一个整型数据赋值给一个实数变量却不可以??是c语言规定如此吗??

............
2017-02-15 20:26
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
得分:0 
回复 8楼 wp231957
前两天有点事,所以没看电脑,现在才给你答复。就是我们会出现把一个实数赋值给一个整型变量,系统自动会去掉小数,使其为整数。为什么整数赋值给实数变量就没有这样的转换?

............
2017-02-18 14:48
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
得分:0 
回复 10楼 炎天
哈哈,版主说笑了

............
2017-02-19 15:42
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
得分:0 
回复 11楼 九转星河
谢了

............
2017-02-19 15:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474236-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.593594 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved