展开式求和。输入一个实数x,计算并输出下式的值,直到最后一项的绝对值小于0.00001 (保留4 位小数)。要求定义和调用函数fact(n)计算n 的阶乘,可以调用pow()函数求幂。试编写相应程序。
问题描述:
#include<stdio.h>
#include<math.h>
int factorial (int n);
int main(void){
double x;
double s=0.0;
double sum=0.0;
int n=1;
sancf("%lf",&x);
while(fabs(sum)>=0.00001){
s=1+pow(x,n)/factorial(n);
sum=sum+s;
n++}
printf("%.4lf",&s);
return 0;
}
int factorial(int n)
{
int i,fact=1;
for(i=1;i<=n;i++)
fact=fact*i;
return fact;
}
s =1+ x+x*x/2!+x*x*x/3!+x*x*x*x/4!+……
答
sancf("%lf",&x);
->
scanf("%lf",&x);
答
#include <stdio.h>
#include <math.h>
double fact(double a);
int main() {
double x, n = 2, s = 0;
double a = 2, d;
int cnt = 0;
scanf("%lf", &x);
while (pow(x, a) / fact(n) > 0.00001) {
d = pow(x, a) / fact(n);
if (cnt < 1) {
s = s + 1 + x + d;
}
s += d;
cnt++;
n++;
a++;
}
printf("%.4f\n", s );
return 0;
}
double fact(double a) {
double b = 1, c = 1;
while (b <= a) {
c = c * b;
b++;
}
return c;
}
答
这个不对吧