| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1303 人关注过本帖
标题:新手求教,自己查不出问题
只看楼主 加入收藏
fredia
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2016-3-3
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:3 
新手求教,自己查不出问题
请大神来看看代码,编译没错,但运行结果不对,还有就是怎么以十进制形式输出
程序代码:
#include
#include
double fact(int i);
int main()
{
    int i;
    float x,n;
    double a;
    a=1;
    scanf("%f%f",&x,&n);
    for(i=1;i<=n;i++)
    {
        a=a+pow(x,i)/fact(i);
    }
    printf("%.6lf\n",a);
    return 0;
}
double fact(int i)
{
    int j,s;
    s=1;
    for(j=0;j<=i;j++)
        s=s*j;
    return(s);
}
【问题描述】

已知ex的近似值可由下面公式计算得出:

ex=1 + x/1! + x2/2! + x3/3! + ...... + xn/n!

搜索更多相关主题的帖子: 十进制 include 
2016-03-29 00:02
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:9 
程序代码:
double fact(int i)
{
    int j;
    double s=1;
    for(j=1;j<=i;j++)  s=s*j;
    
    return s;
}

   唯实惟新 至诚致志
2016-03-29 00:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:9 
还pow,那不如直接用exp好了

程序代码:
#include <stdio.h>

// e^x = 1 + x/1! + x^2/2! + x^3/3! + ...... + x^n/n!
double foo( unsigned x )
{
    double ex = 0;
    double item = 1;
    for( unsigned i=1; item>1e-7; ++i )
    {
        ex += item;
        item = item*x/i;
    }

    return ex;
}

#include <math.h>

int main( void )
{
    // 测试结果正确性
    printf( "foo(10) = %lf\n", foo(10) );
    printf( "exp(10) = %lf\n", exp(10.0) );

    return 0;
}

2016-03-29 08:46
fredia
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2016-3-3
收藏
得分:0 
回复 3楼 rjsp
首先谢谢您的解答    但我实在太小白了     1e-7是什么意思
2016-03-29 09:02
快速回复:新手求教,自己查不出问题
数据加载中...
 
   



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

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