当前位置:编程学习 > C/C++ >>

问题七: f=1!+1/2!+1/3!+1/4!+...+1/n!(n为一定大的数,太大了会溢出)

/***************************************************************
              累加(C语言)
  
                                         AUTHOR:liuyongshui
                                         DATE:********
 ***************************************************************/
/*
    问题七: f=1!+1/2!+1/3!+1/4!+...+1/n!(n为一定大的数,太大了会溢出)

*/

#include <stdio.h>
       
void f(int m);      //原函数声明

int main()
{
    int n;

    printf("请输入一个数(不能太大):");
    scanf("%d", &n);

    f(n);     //把n带入f()函数

    return 0;
}

// f()函数定义
void f(int m)
{
      int i;
      int j;
      int s=1;
      double sum=0.0; 

      for(i=1; i<=m; i++)
      {
          for(j=1; j<=i; j++)
          {
              s*=j;      //计算i!
          }

          sum+=1.0/s;    //sum=sum+1.0/s;

          s=1;    //算完i!后,s赋值为1
      }
    
      printf("%lf\n", sum);    //输出结果
}

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,