| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1484 人关注过本帖
标题:用矩形法求定积分,输出结果全是零,不知道错在哪
只看楼主 加入收藏
邹特强
Rank: 2
等 级:论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:13 
用矩形法求定积分,输出结果全是零,不知道错在哪
#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
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
三角函数有问题,d接受的返回值全都是0
2017-02-15 13:30
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
将两处 1000 改为 1000.0 试试
2017-02-15 14:01
邹特强
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
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用邹特强在2017-2-15 18:07:04的发言:

神了,改了就对了,请教以下为什么
很简单  系统默认 INT/INT=INT
              而 INT/浮点 或者浮点/INT 或者 浮点/浮点  皆等于浮点

而1000 系统认为INT
1000.0 系统认为浮点

[此贴子已经被作者于2017-2-15 18:20编辑过]


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

............
2017-02-15 20:26
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
回复 7楼 邹特强
请举例说明

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

............
2017-02-18 14:48
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
回复 9楼 邹特强
等以后你是权威了,可以重新规定一下哦

早知做人那么辛苦!  当初不应该下凡
2017-02-18 19:32
快速回复:用矩形法求定积分,输出结果全是零,不知道错在哪
数据加载中...
 
   



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

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