...输入x和n后计算公式的近似值。 e^x=1+x+x^2/2!+x^3/3!+⋯+x^...

发布网友 发布时间:2024-10-23 23:36

我来回答

3个回答

热心网友 时间:2024-11-19 04:23

阶乘函数,不能直接修改m的值。不过此处无影响。
主要是没加1.

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int fact(int m)
{
int t=1;
int i;
//if( m == 0 )
// return 1;
for( ; m>=1; m--)//不能直接修改m的值,但此处无影响
t=t*m;
return(t);
}
int main()
{
int n,i;
double x,a=0;
double temp;
printf("请分别输入X和n的值:");
scanf("%lf %d",&x,&n);// f->lf

a = 1;//从1开始加的
for(i=1;i<=n;i++)
{
temp = pow(x,i);
temp = (double)pow(x,i)/(double)fact(i);
a = a + ((double)pow(x,i)/(double)fact(i));
}
/*
a = 0;
for(i=0;i<=n;i++)
{
a=a+(pow(x,i)/fact(i));
printf("a=%d\n", a);
}
*/
printf("近似值为:%5.2lf\n",a );
system("pause");
return 0;
}

热心网友 时间:2024-11-19 04:18

e^x=1+x+x^2/2!+x^3/3!+⋯+x^n/n! 式子中第一个1没有算进去,a初始化为1就可以了。

热心网友 时间:2024-11-19 04:18

scanf("%f %d",&x,&n);多了空格改为:scanf("%f%d",&x,&n);

热心网友 时间:2024-11-19 04:26

阶乘函数,不能直接修改m的值。不过此处无影响。
主要是没加1.

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int fact(int m)
{
int t=1;
int i;
//if( m == 0 )
// return 1;
for( ; m>=1; m--)//不能直接修改m的值,但此处无影响
t=t*m;
return(t);
}
int main()
{
int n,i;
double x,a=0;
double temp;
printf("请分别输入X和n的值:");
scanf("%lf %d",&x,&n);// f->lf

a = 1;//从1开始加的
for(i=1;i<=n;i++)
{
temp = pow(x,i);
temp = (double)pow(x,i)/(double)fact(i);
a = a + ((double)pow(x,i)/(double)fact(i));
}
/*
a = 0;
for(i=0;i<=n;i++)
{
a=a+(pow(x,i)/fact(i));
printf("a=%d\n", a);
}
*/
printf("近似值为:%5.2lf\n",a );
system("pause");
return 0;
}

热心网友 时间:2024-11-19 04:19

scanf("%f %d",&x,&n);多了空格改为:scanf("%f%d",&x,&n);

热心网友 时间:2024-11-19 04:26

e^x=1+x+x^2/2!+x^3/3!+⋯+x^n/n! 式子中第一个1没有算进去,a初始化为1就可以了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com