求c++程序“sin(x)=x/1!-x^3/3!+x^5/5!-……通项的绝对值小于10-7”的源代码

来源:百度知道 编辑:UC知道 时间:2024/09/22 04:13:57

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int factorial(int n);
int main()
{
double a=1,c,x,d=1,p=0;
cin>>x;
c=x;

while ((fabs(d))>1e-6)
{
d=c/factorial(a);
p=p+d;
c=c*x*x;
a=a+2;
c=-c;
}

cout<<"sin(x)="<<setiosflags(ios::fixed)<<setprecision(6)<<p<<endl;

return 0;
}

int factorial(int n)/* 求n的阶乘 */
{
if(n>1)
return(n*factorial(n-1));
return 1;
}

在vc++6.0,可以提交的

//sin(x)=x/1!-x^3/3!+x^5/5!-……通项的绝对值小于10-7
double six(double x)
{
double sum=0;
int i=1;
long fm=i;
long fz=x;
while(abs(fz/fm)>=1e-7)
{
fz*=(-1)*x*x;
fm*=(