早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c语言1.1指数函数值问题描述通过ex的无穷级数展开公式ex=1+x+x2/2!+x3/3!+x4/4!+…计算ex的值。编写一个函数exp(x),已知x,用无穷级数计算ex,当某项的值小于10-6时,则从1到这项之和为ex的

题目详情
c语言 1.1 指数函数值
问题描述
通过ex的无穷级数展开公式ex= 1+x+x2/2!+x3/3!+x4/4!+…计算ex的值。
编写一个函数exp(x),已知x,用无穷级数计算ex,当某项的值小于10-6时,则从1到这项之和为ex的近似值;
编写程序,输入一个x值,调用函数exp(x)并输出ex的近似值。
输入
输入有若干行,每行有一个实数x,(-10.0≤x≤10.0)。
输入直到输入了一个’#’ ,结束。
输出
对输入中的每一个实数x,在一行上先输出“e(x) = ”,其中x以小数点后有3位小数的形式输出,再将用函数exp(x)计算的值以四舍五入方式保留5位小数输出;同样地,在第二行上先输出“e(x) = ”,其中x以小数点后有 3位小数的形式输出,再将用函数exp(x)计算的值以四舍五入方式保留5位小数输出。
▼优质解答
答案和解析
#include <stdio.h>
#include <math.h>
double exp(double x) {
double sum = 0;
double term = 1;
double index = 1;
while (fabs(term) >= 1e-6) {
sum = sum + term;
term = term * x / index;
index = index + 1;
}
return sum;
}
int main() {
char c;
double x;
while (scanf(" %c", &c) == 1) {
if (c == '#') break;
ungetc(c, stdin);
scanf("%lf", &x);
printf("e(%.3lf) = %.5lf", x, exp(x));
}
}
看了 c语言1.1指数函数值问题描...的网友还看了以下: