c语言计算表达式s=1-2/x+3/x^2-4/x^3+5/x^4-6/x^5+……(x>!),要求计算精度为n项的绝对值小于10^-5
计算表达式s=1-2/x+3/x^2-4/x^3+5/x^4-6/x^5+……(x>!),要求计算精度为n项的绝对值小于10^-5...
计算表达式s=1-2/x+3/x^2-4/x^3+5/x^4-6/x^5+……(x>!),要求计算精度为n项的绝对值小于10^-5
展开
1个回答
展开全部
分析:
用循环来实现累加,循环变量取值:1,2,3,...每次循环加1
循环结束条件=当前项绝对值<1e-5即循环条件是t>=1e-5
每项的分子:1,2,3,...就是循环变量取值
每项的分母:从第2项开始是1,x,x*x,x*x*x,...是前一项的分母再乘以x得到
每项的符号:1,-1,1,-1,...是前一项符号乘以-1得到
#include<stdio.h>
void main()
{ int n,f;
double s,t,x,fm;
scanf("%lf",&x);
n=1; fm=1; f=1; s=0; t=1;
while ( t>=1e-5 ) { s+=f*t; n++; fm*=x; f*=(-1); t=(double)n/fm; }
printf("%d项和为%lf\n",n,s);
}
用循环来实现累加,循环变量取值:1,2,3,...每次循环加1
循环结束条件=当前项绝对值<1e-5即循环条件是t>=1e-5
每项的分子:1,2,3,...就是循环变量取值
每项的分母:从第2项开始是1,x,x*x,x*x*x,...是前一项的分母再乘以x得到
每项的符号:1,-1,1,-1,...是前一项符号乘以-1得到
#include<stdio.h>
void main()
{ int n,f;
double s,t,x,fm;
scanf("%lf",&x);
n=1; fm=1; f=1; s=0; t=1;
while ( t>=1e-5 ) { s+=f*t; n++; fm*=x; f*=(-1); t=(double)n/fm; }
printf("%d项和为%lf\n",n,s);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询