Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2545788
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-07-28 10:52:23

    有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13 求出这个数列的前20项之和。
    看到这个题目,我们就要找到其中的规律,我们发现初始化分母为一,分子为二,等到第二项的时候分母为上次的分子,分母为上面那个分子与分母的和。一共20项。找到着这样的规律,我们就可以很容易的写出如下的程序。代码如下:

#include <stdio.h>

int main(int argc,int *argv[])
{
    float fenzi = 2,fenmu = 1;
    int i=0,temp,n = 20;
    float result =0.0;
    do
    {
      printf("%.0f/%.0f ",fenzi,fenmu); // print item value.
      result += fenzi / fenmu;
      
      temp = fenzi + fenmu;
      fenmu = fenzi;
      fenzi = temp;
      
      i++;
      
      if ( i % 5 == 0) //if item is 5,begin break line.

      {
         printf("\n");
      }
    }while (i < n);
    
    printf("\nresult is %f\n",result);
    
    system("pause");
    return 0;
    
}


上面代码中,如果要输出没有小数的浮点数可以使用"%.0f"。
阅读(1019) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~