标题:用函数求定积分
只看楼主
三脚猫a
Rank: 2
等 级:论坛游民
帖 子:61
专家分:90
注 册:2019-2-27
结帖率:100%
 问题点数:0 回复次数:4 
用函数求定积分
程序代码:
#include <stdio.h>
#include <math.h>
double multi(double a,double b);
int main(void)
{
    double a,b,k,s,h;
    int n=100;
    printf("请输入区间:");
    scanf("%f,%f",&a,&b);
    h=fabs(a-b)/n;
    k=h*((sin(a)+sin(b))/2.0);
    //s=h*(sin(a)+sin(b))/2.0+multi(a,b);
    printf("%0.5f,%0.5f,%0.5f",multi(a,b),k,h);
    //printf("%f",s);
    return 0;
}
double multi(double a,double b)
{
    int i=1,n=100;
    //double a=0,b=1.5;
    float h,sum=0;
    h=fabs(a-b)/n;
    do
    {
        sum+=sin(a+i*h);
        i++;
    }
    while(i<=99);
    //printf("%0.5f",sum);
    return sum;
}

各位帮忙看看为啥这个程序返回值在主函数中和自定义函数中的返回值不一样呢。就是说我在主函数中输出multi函数的返回值,和我单独用multi输出其需要返回的值不一样。
搜索更多相关主题的帖子: 函数 double multi sin sum 
2019-04-17 11:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
没看懂你问什么?
比如输入什么,输出什么,期待输出什么。

从 double a,b,k,h;
   scanf("%f,%f",&a,&b);
就不对了
2019-04-17 12:17
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
得分:0 
double 对应的格式符是%lf  输出的时候也要注意用%lf
2019-04-17 13:15
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
得分:0 
//这里需不需要写成下面这样,好像这里是求得面积
sum+=h*sin(a+i*h);
2019-04-17 15:09
三脚猫a
Rank: 2
等 级:论坛游民
帖 子:61
专家分:90
注 册:2019-2-27
得分:0 
谢谢各位,最后我看了一下是double型的输入输出应该用“lf”,我用错了。
2019-04-18 22:28



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




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

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