编写程序,计算
\(e^x\)=\(1+x+\)\((x^2)/(2!)\)+\((x^3)/(3!)+(x^4)/(4!)+...+(x^n)/n!\)
输入输出格式要求:
1. 输入格式:x n回车
2. ex, x, n均用double类型存储。
3. 要求输出小数点后6位。
4. 只输出运算结果,请不要输出其他字符。遇到异常情况(如n为负数),输出error
输入:3 10回车
输出:20.079665
输入:5.24 11回车
输出:187.210665
输入:5 -10
输出:error
#include <stdio.h>
#include <math.h>
int main() {
//sum为阶乘,初始值为1(0!=1)
//sum2为多项式之和
double x, n,sum=1,sum2=0;
int i,j; //i,j为两次循环的控制变量
scanf_s("%lf%lf", &x, &n);
//计算多项式累加求和
for (i = 0; i <= n; i++) {
//计算i的阶乘
for (j=1; j <= i; j++)
sum = sum * j;
sum2 += pow(x, i) / sum;
}
printf("%.6lf", &sum2);
return 0;
}
这里的代码运行下来始终都不对劲,不过我也不知道错在哪里。大家来帮忙找找错误??。
原文:https://www.cnblogs.com/Akizuki-Kanna/p/14783099.html