C语言对于级数的求和问题:计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6,输出达到精度要求的最小n与级数和,两者间用逗
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 11:17:38
C语言对于级数的求和问题:计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6,输出达到精度要求的最小n与级数和,两者间用逗
C语言对于级数的求和问题:计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6
计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6,输出达到精度要求的最小n与级数和,两者间用逗号分隔.
s(x)=x-x3/3!+x5/5!-x7/7!+……+(-1)n-1·x2n-1/(2n-1)!
【输入形式】
从键盘输入x的值(实数).
【输出形式】
输出级数和精度达到10-6的最小n和级数和,两者间用逗号分隔.
【样例输入1】0.523599
【样例输出1】 4,0.500000
【样例输入2】-1
【样例输出2】 5,-0.841471
【样例输入3】6.283185
【样例输出3】 13,0.000000
下面是我写的程序,通过编译,运算不对,
#include
#include
double fact(int n);
int main(void)
{
int i;
double x,y;
y=0;
scanf("%lf",&x);
switch((x-y)>pow(10,-6)){
i=1;
y=y+(pow(x,2*i-1)/fact(2*i-1));
i++;}
printf("%d,%f",i,y);
return 0;
}
double fact(int n){
int i,flag;
double result;
result=1;flag=1;
for(i=1;i
C语言对于级数的求和问题:计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6计算下列级数和的近似值,x的值从键盘输入,求和精度为10-6,输出达到精度要求的最小n与级数和,两者间用逗
#include
#include
double fact(int n);
int main(void)
{
int i,b;
double a,x,y;
i=1;
b=i;
scanf("%lf",&x);
y=0;
a=1;
while(fabs(a)>1e-6)
{
a=(pow(x,2*i-1)/fact(2*i-1));
y=y+a;
b=i;
i++;
}
printf("%d,%f",b,y);
return 0;
}
double fact(int n){
int i;
static flag=1;
double result;
result=1;
for(i=1;i