东华大学OJ基础题84 求级数的和

问题描述 :
计算以下级数的和:
image.png
直到最后一项的绝对值小于10-6(该项不包括在结果中)。

输入说明 :
输入一个实数,代表x。

输出说明 :
输出结果,保留六位小数。整个输出无多余空格。
输入范例 :
2.5
输出范例:
1.917914
总结
1.我这里设置的变量比较多,注意保留X每次循环都要乘以x,都要判断绝对值,阶乘,思路清晰即可
2.加油!!!

#include<stdio.h>
#include<math.h>
double fact(int n);
int main(){
	double sum,a,res,x,answer;
	int i,s;
	i=1;a=1.0;
	sum=1.0;
	s=1;
	scanf("%lf",&x);
	answer=x;
	while(fabs(a)>=pow(10,-6)){
		res=fact(i);	
		a=answer/res;
		sum=sum+s*a;
		s=-s;
		i++;
		answer=pow(x,i);
		a=answer/fact(i);
	}
	printf("%.6f",sum);
	return 0;
}
double fact(int n){
	double fact=1.0,i;
	for(i=1.0;i<=n;i++){
		fact*=i;
	}
	return fact;
}
发布了23 篇原创文章 · 获赞 1 · 访问量 183

猜你喜欢

转载自blog.csdn.net/weixin_44205451/article/details/104599106
今日推荐