| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1990 人关注过本帖
标题:求数列 2/1+3/2+5/3+8/5+13/8+..... 前20项的和。和书本上答案sum=32.66 ...
只看楼主 加入收藏
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
结帖率:90%
收藏
已结贴  问题点数:10 回复次数:7 
求数列 2/1+3/2+5/3+8/5+13/8+..... 前20项的和。和书本上答案sum=32.660259,自己的是sum=21.000000对不
#include<stdio.h>
#include<conio.h>
void main()
{
    float sum;
    int n,n1,n2,m,m1,m2,i;
    sum=0;
    n1=1;n2=1;
    m1=0;m2=1;
    for(i=1;i<=20;i++)
    {
        n=n2+n1;
        m=m2+m1;
        n1=n2;n2=n;
        m1=m2;m2=m;
            sum=sum+n/m;
    }
    printf(" %f\n",sum);  /* 书本上答案sum=32.660259,自己的是sum=21.000000对不上。求解惑。*/
    getch();
}
搜索更多相关主题的帖子: include 
2015-09-28 16:31
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:2 
2015-09-28 16:42
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
我用excel计算 32.+ 是对的

2.000000
1.500000
1.666667
1.600000
1.625000
1.615385
1.619048
1.617647
1.618182
1.617978
1.618056
1.618026
1.618037
1.618033
1.618034
1.618034
1.618034
1.618034
1.618034
1.618034

DO IT YOURSELF !
2015-09-28 16:46
JanmesGlover
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2015-9-28
收藏
得分:2 
回复 楼主 朔源
这里你的n和m都是int类型,所以n/m所得的结果也是int类型的,所以最后你的答案会比正确答案小很多。
2015-09-28 17:49
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:2 
新人手痒,忍不住自己编了一段代码,编译没问题,构建没问题,执行出错。。。
求各位大神指教!
程序代码:
//求数列 2/1+3/2+5/3+8/5+13/8+..... 前20项的和
#include<stdio.h>
int main(void)
{
    int a[20],b[20],i;
    float g[20],sum[20];
    a[0]=2;
    b[0]=1;
    g[0]=2;
    sum[0]=2;
    for(i==1;i<20;i++)
    {
        a[i]=a[i-1]+b[i-1];
        b[i]=a[i-1];
        g[i]=a[i]/b[i];
        sum[i]=sum[i-1]+g[i];
    }
    printf("Sum = %f\n",sum);
    return 0;
}
2015-09-29 09:24
eagle_li
Rank: 2
等 级:论坛游民
帖 子:11
专家分:50
注 册:2015-9-30
收藏
得分:2 
回复 楼主 朔源
#include<stdio.h>
int main(void)
{
    float sum;
    float a,b,c,d;
    int i;
    a=2;b=1;
    sum=0;
    for(i=1;i<=20;i++)
    {
        d=b;
        c=a;
        sum=sum+c/d;
        a=d+c;
        b=c;
    }
    printf(" %f\n",sum);
    return 0;
}
2015-09-30 22:50
cprimerplus
Rank: 2
等 级:禁止发言
帖 子:8
专家分:23
注 册:2015-10-1
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2015-10-01 11:29
yunyouzhi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-10-11
收藏
得分:0 
回复 6楼 eagle_li
你这个运行出来尾数是63
2019-10-11 17:49
快速回复:求数列 2/1+3/2+5/3+8/5+13/8+..... 前20项的和。和书本上答案sum= ...
数据加载中...
 
   



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

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