用c++编写程序计算下列公式的值:y = x - x^3/3!+ x^5/5!- x^7/7!+ ⋯,精确到第n项
时间: 2023-05-29 20:02:58 浏览: 100
#include<stdio.h>
#include<math.h>
double factorial(int n); //计算阶乘的函数
double power(double x,int n); //计算x的n次方的函数
int main()
{
double x,y=0; //定义变量x,y
int n,i; //定义变量n,i
printf("请输入x和n的值:"); //提示用户输入x和n的值
scanf("%lf %d",&x,&n); //读取用户输入的x和n的值
for(i=1;i<=n;i+=2) //循环计算每一项
{
if(i%4==1) //当i%4等于1时,加上这一项
y+=power(x,i)/factorial(i);
else //否则,减去这一项
y-=power(x,i)/factorial(i);
}
printf("y=%.6lf\n",y); //输出结果,保留小数点后6位
return 0;
}
double factorial(int n) //计算阶乘的函数
{
double result=1;
int i;
for(i=1;i<=n;i++)
result*=i;
return result;
}
double power(double x,int n) //计算x的n次方的函数
{
if(n==0) //当n等于0时,返回1
return 1;
else if(n%2==0) //当n为偶数时,使用递归,将x的n次方转化为x的n/2次方的平方
return power(x,n/2)*power(x,n/2);
else //当n为奇数时,使用递归,将x的n次方转化为x的(n-1)次方乘以x
return x*power(x,n-1);
}
阅读全文