请用迭代代函数调用来计算下试:f(x)=x-x^3/3!+x^5/5!-x^7/7!+...
答案:1 悬赏:80 手机版
解决时间 2021-01-31 02:02
- 提问者网友:浮克旳回音
- 2021-01-30 03:57
请用迭代代函数调用来计算下试:f(x)=x-x^3/3!+x^5/5!-x^7/7!+...
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-01-30 05:28
#include
double x;
double myfuc1(unsigned int m)
{
static unsigned int n = 0;
static double x1 = 1;
if(m for(; n<=m; n++) x1 *= x /(n+1);
return x1;
}
double myfuc2(double fx,unsigned int m)
{
unsigned int i;
double res;
x = fx;
for(res=0.0,i=0; i<=m; i++)
res += myfuc1(i*2+1);
return res;
}
void main()
{
double fx;
printf("输入一小于20的正实数x:");
scanf("%lf",&fx);
printf("\n输入的数:%lf",fx);
printf("\n计算结果:");
for(int ii=1;ii<=20;ii++)
printf("\n前%d项和: %lf:", ii, myfuc2(fx,ii));
//已实验过,如果输入的值过大,要很多项之后结果才稳定成一个常数
}
double x;
double myfuc1(unsigned int m)
{
static unsigned int n = 0;
static double x1 = 1;
if(m
return x1;
}
double myfuc2(double fx,unsigned int m)
{
unsigned int i;
double res;
x = fx;
for(res=0.0,i=0; i<=m; i++)
res += myfuc1(i*2+1);
return res;
}
void main()
{
double fx;
printf("输入一小于20的正实数x:");
scanf("%lf",&fx);
printf("\n输入的数:%lf",fx);
printf("\n计算结果:");
for(int ii=1;ii<=20;ii++)
printf("\n前%d项和: %lf:", ii, myfuc2(fx,ii));
//已实验过,如果输入的值过大,要很多项之后结果才稳定成一个常数
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯