编写程序根据用户输入的x和n的值,利用下面公式计算s的近似值,要求输出结果小数点后保留4位。
请问这个要怎么修改?最后的输出结果是错的
编写程序根据用户输入的x和n的值,利用下面公式计算s的近似值,要求输出结果小数点后保留4位。
请问这个要怎么修改?最后的输出结果是错的
把分子和分母的计算方法修改下,下面是我的一个实现,供参考:
#include <stdio.h>
int main(void){
int i=1,n,k=-1;
double x,s=1,t=1,power=1,factorial=1;
scanf("%lf%d",&x,&n);
while(i<=n){
power*=x; //分子,幂次方
factorial*=i; //分母,阶乘
t=power/factorial ; //分子除以分母
s+=k*t; // 把每一项乘以系数后累加到和中
k=-k; // 系数变换
i++; // i++,以便计算下一项的阶乘
}
printf("%.4f",s);
return 0;
}