数列求和




/*
 题目描述
    编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘。
 1+1/2!+ .... +1/n!
 计算结果保存在double类型变量中。
 接口说明
 原型:
 void GetResult(int InputNum, double *NumResult);
 输入参数:
  Int  InputNum:输入一个正整数,进行表达式计算
  char *NumResult:输出表达式的值
返回值:
    void
*/
 
/*

void GetResult(int InputNum, double *NumResult);
输入参数:
  Int  InputNum:输入一个正整数,进行表达式计算
   char *NumResult:输出表达式的值  
返回值:
  void

*/


#include <stdio.h>
double fact(int k);

void GetResult(int InputNum, double *NumResult)
{
 if(InputNum)
 {
  for(int i=1;i<=InputNum;i++)
  {
   *NumResult+=(double)1.0/fact(i);
  }
 }
 printf("%f",*NumResult);
    return ; 
}
/*
double fact(int k)
输入参数:
  Int  k:输入一个正整数,进行表达式计算
返回值:
  double
*/

double fact(int k)
{
 double sum=1;
 if(k==0)
 {
  return sum;
 }
 sum=k*fact(k-1);
 return sum;
}

void main()
{
 int n;
 double output = 0;
 printf("请输入你要的数字:\n");
 scanf_s("%d",&n,10);
 GetResult(n,&output);
 getchar();
 getchar();
}


你可能感兴趣的:(C语言,数列求和)