baidu_23253519 2015-04-21 11:35 采纳率: 100%
浏览 1838
已采纳

C程序设计(第四版)习题5-10

求分数序列
2/1 +3/2+5/3+8/5+13/8+21/13...
前20项之和。

我这样的代码为什么不对啊?输出是21.00000000 答案输出是32.6602607986

 #include <stdio.h> 
int main()
{
    int fenzi(int n);
    int fenmu(int m);
    int i;
    float s=0,tem;
    for(i=1;i<=20;i++)
    {
        tem=fenzi(i)/fenmu(i);
        s=s+tem;
    }
    printf("%f",s);
    return 0;
}
int fenzi(int n)
{
    if(n==1) return 2;
    else if(n==2) return 3;
    else return (fenzi(n-2)+fenzi(n-1));
}
int fenmu(int m)
{
    if(m==1) return 1;
    else if(m==2) return 2;
    else return (fenmu(m-2)+fenmu(m-1));
}
  • 写回答

3条回答 默认 最新

  • threenewbee 2015-04-21 11:44
    关注
     // ConsoleApplication1.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    
    int fenzi(int n);
    int fenmu(int m);
    
    int main()
    {
        int i;
        float s = 0, tem;
        for (i = 1; i <= 20; i++)
        {
            tem = (double)fenzi(i) / (double)fenmu(i);
            s = s + tem;
        }
        printf("%f", s);
        return 0;
    }
    int fenzi(int n)
    {
        if (n == 1) return 2;
        else if (n == 2) return 3;
        else return (fenzi(n - 2) + fenzi(n - 1));
    }
    int fenmu(int m)
    {
        if (m == 1) return 1;
        else if (m == 2) return 2;
        else return (fenmu(m - 2) + fenmu(m - 1));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案