没有什么思路,不知道该怎么运用他给的条件,希望大家能给一下完整的过程讲解😂😂,谢谢😍

一般这种精确到小数点后几位,就是说最后一项x^n/n!满足小于该小数时就可以结束递归了,即满足x^n/n!<0.000001结束递归
思路:
观察每一项特征
x0=1=x^0/0!
x1=x=x^1/1!=x0*x/1
x2=x^2/2!=x1*x/2;
...
xn=x^n/n!=(xn-1)*x/n
也就是后一项=前一项乘以x再除以当前的n
所以,设当前项为xk=x^k/k!
则函数可定义为
double exn(double x, int n, double xk) {
double xkk=xk*x/n; //算出后一项
if(xkk<0.000001)
return xk; //如果后一项小于精度则舍去,返回当前项
return xk + exn(x, n+1, xkk); //否则返回当前项+递归后一项以后的总和
}
//测试
int main(){
double x=0.5;
double s = exn(x, 1, 1);//第三个参数1就是当前项第一项
printf("%.6f\n", s); //打印结果
printf("%.6f\n", exp(x)); //和系统函数对比
return 0;
}