(C语言)计算e的x次方

  • Post author:
  • Post category:其他




计算e的x次方

题目:编写程序,计算

e

x=1+x+(x

2)/(2!)+(x

3)/(3!)+(x

4)/(4!)+…+(x^n)/n!

说明:e^x表示e的x次方,2!表示2的阶乘

输入输出格式要求:

输入格式:x n回车

e^x, x, n均用double类型存储。

要求输出小数点后6位。

只输出运算结果,请不要输出其他字符,遇到异常情况(如n为负数),输出error

例如:

输入:3 10回车

输出:20.079665

输入:5.24 11回车

输出:187.210665

输入:5 -10

输出:error

这道题的算法逻辑和前面我写的求n的值有点相似,大家可以两个连着看,加深印象

下面是代码:

#include <math.h>

int main()

{


double x,k=1,f=1,e,n;

double a=0;

scanf(“%lf %lf”,&x,&n);//double输入的话需要以lf来表示

if(n < 0)

printf(“error”);

else

{


for(int i = 1;i <= n;i++)

{


a =pow((double)x,(double)i);//pow里面的数也必须是double型,不然会报错,pow的意思是x的i次方

k = k*i;//下面的阶乘

e = a/k;//整个式子的表达

f += e;//每循环一次相加

}

printf(“%.6lf”,f);//保留小数点后6位

}

return 0;

}

欢迎大家一起讨论。



版权声明:本文为hua12ng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。