| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:怎么把它改对啊??
只看楼主 加入收藏
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:10 
怎么把它改对啊??
程序代码:
//输入一个实数X,计算并输出下式的值,最后一项小于0.00001,要求定义和调用fact(n)求阶乘,也可调用pow()函数求幂,保留两位小数
//s=x+x^2/2!+x^3/3!+......
#include <stdio.h>    
#include <math.h>
double fact(int n);
int maim()
{
    int x,i;      //i 为第几项
    double item,e,s;  //e 为精确度
    double power(i,x);
    printf("Enter x:");
    scanf("%d",&x);
    s=0;
    e=0.00001;
    item=pow(i,x)/fact(i);
    for (i=1;item>e;i++)
    {
         s+=item;
    }
    printf("s=%lf",s);
    return 0;    
}
double fact(int n)
{
    int i,x;
    double result;
    result=1;
    for (i=1;item>e;i++)
    result*=i;
    return result;
}
搜索更多相关主题的帖子: include 
2015-04-14 16:36
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:7 
double power(i,x); 这是什么?
for (i=1;item>e;i++) 这是在判断什么?

人有多懒,编程就有多难。
2015-04-14 17:02
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
收藏
得分:0 
以下是引用TAAAAB在2015-4-14 17:02:24的发言:

double power(i,x); 这是什么?
for (i=1;item>e;i++) 这是在判断什么?



double power(i,x);是求x^i
for (i=1;item>e;i++)判断当前项是否小于0.00001,若小于则终止循环,,item 是当前项,
2015-04-14 17:11
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:7 
程序代码:
//输入一个实数X,计算并输出下式的值,最后一项小于0.00001,要求定义和调用fact(n)求阶乘,也可调用pow()函数求幂,保留两位小数
//s=x+x^2/2!+x^3/3!+......
#include <stdio.h>    
#include <math.h>
double fact(int n);
int main()

 {
      int i;
     double x,item,e,s = 0; 
     printf("Enter x:");
     scanf("%lf",&x);
     e=0.00001;
        
     for(i=0;i<10000;i++)
     {
         item=pow(x,i)/fact(i);
         if(item >=e)
          s+=item;
     }
     printf("s=%lf",s);
     return 0;    

 }
double fact(int n)
{
    int i,x;
     double s = 1;
     for (i=1;i<=n;i++)
         s *= i;
     return s;
}




简单的数学递归  懒得写了  随便改改

风回小院庭芜绿,柳眼春相续
2015-04-14 17:18
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
收藏
得分:0 
回复 4楼 纳兰伽香
不行不行    要不得
2015-04-14 17:43
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
回复 5楼 yeyeyeyue
怎么要不得?说清楚不行么?

风回小院庭芜绿,柳眼春相续
2015-04-14 17:44
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
收藏
得分:0 
回复 6楼 纳兰伽香
我输入一个数,,什么都输不出来
还有i 为什么小于10000?  i为什么初值为0?
2015-04-14 17:48
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
回复 7楼 yeyeyeyue
图片附件: 游客没有浏览图片的权限,请 登录注册


自己慢慢慢慢研究去吧   这只是个数学题而已

风回小院庭芜绿,柳眼春相续
2015-04-14 17:50
村雨
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2015-4-14
收藏
得分:7 
fact是求阶乘,终止条件不对。再试一下吧^ ^
//输入一个实数X,计算并输出下式的值,最后一项小于0.00001,要求定义和调用fact(n)求阶乘,也可调用pow()函数求幂,保留两位小数
//s=x+x^2/2!+x^3/3!+......
#include <stdio.h>   
#include <math.h>

double fact(int n)
{
    int i;
    double result=1;
   
    for (i=1;i<=n;i++)
    result*=i;
   
    return result;
}

int main()
{
    int x,i;      //i 为第几项
    double item,t,s;  //t 为精确度
    double power(i,x);
   
    printf("Enter x:");
    scanf("%d",&x);
   
    s=0;
    t=0.00001;
   
    for (i=1;item>=t;i++)
    {
        item=pow(i,x)/fact(i);
        s+=item;
    }
    printf("s=%lf",s);
}

2015-04-14 20:00
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
收藏
得分:0 
以下是引用纳兰伽香在2015-4-14 17:50:05的发言:



自己慢慢慢慢研究去吧   这只是个数学题而已


#include <stdio.h>   
#include <math.h>
double fact(int n)
{
    int i;
    double result=1;   
    for (i=1;i<=n;i++)
        result*=i;   
    return result;
}

int main()
{
    int x,i;      //i 为第几项
    double item,t,s;  //t 为精确度
    double power(int i,int x);
   
    printf("Enter x:");
    scanf("%d",&x);
   
    s=0;
    t=0.00001;
   
    for (i=1;;i++)
    {
        item=pow(i,x)/fact(i);
        s+=item;
        if(item<=t) break;
    }
    printf("s=%.2lf\n",s);
    return 0;
}

我输入6,,出来是551.81,
2015-04-14 22:41
快速回复:怎么把它改对啊??
数据加载中...
 
   



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

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