标题:求2/1, 3/2, 5/3, 8/5, 13/8, 21/13,…的前二十项和,我的答案一直错,麻烦 ...
只看楼主
zbn。
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-11-28
结帖率:100%
已结贴  问题点数:20 回复次数:4 
求2/1, 3/2, 5/3, 8/5, 13/8, 21/13,…的前二十项和,我的答案一直错,麻烦帮我看一下我的代码有什么问题。
#include<stdio.h>
int main(){
    int a,b,i;
    a=1;b=2;
    float sum=0,c;
    for(i=1;i<=20;i++){
        a=b;
        b=a+b;
        c=b/a;
        sum=sum+c;
    }
    printf("%f",sum);
    return 0;
}
搜索更多相关主题的帖子: 代码 答案 i++ int sum 
2021-11-28 20:36
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:10 
#include<stdio.h>

int main(){
    int a,b,i,d;
    a=1;b=2;
    float sum=0,c;
    for(i=1;i<=20;i++){
        //a b 的初始值为第一项,为什么要再次计算 a b 呢,直接使用        
        //a b 都是 int ,计算出来的结果一定是int,为了得到float,需强制float
        c=(float)b/a;
        sum=sum+c;

        printf("%d:a=%d,b=%d,c=%f\n",i,a,b,c);  //debug

        //计算时,第一步就把a的原值给破坏了,再计算 b=a+b怎么得到正确的b呢
        d=a;      
        a=b;
        b=d+b;
    }
    printf("%f",sum);
    return 0;
}

我也是刚学C,一直讨论哈

[此贴子已经被作者于2021-11-28 21:48编辑过]


授人于鱼,不如授人于渔
早已停用QQ了
2021-11-28 21:46
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
得分:5 
程序代码:
#include<stdio.h>
void main()
{
    float s = 0, tmp;
    int i;
    for (i=0,tmp=2; i<20; i++)//由题目可知,首项值为2,其他项的关系为 f(n+1) = 1 + 1/f(n)
    {
        s += tmp;
        tmp = 1 + 1/tmp;
    }
    printf("%f", s);
}
2021-11-29 14:42
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:5 
好吧,我们都还处于硬算的地方,没有优化算法的能力。
数学不行,看了半天才理解。。

授人于鱼,不如授人于渔
早已停用QQ了
2021-11-29 19:25
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:101
专家分:643
注 册:2021-7-1
得分:0 
这么改下,供参考;
程序代码:
#include <stdio.h>
int main() 
{
    int a, b, i;
    a = 1; b = 2;
    double  sum = 0;
    for (i = 1; i <= 20; i++) 
    {
        sum += 1.0 * b / a;
        b = a + b;
        a = b - a;
    }
    printf("%f", sum);
    return 0;
}
2021-11-30 08:25



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




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

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