内江钟长鸣还未处理吗:利用公式:sinx=x/1!-x/3!+x/5!-x/7!...,编写sin(x)函数

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 05:53:25
精度要求10的-6次方,主函数调用该函数计算0,10,20...90角度的sin并输出

问题中每个分项的x的次数应该依次增加2,即1,3,5,7,9,........
#include<iostream>
using namespace std;
int main()
{ double pi=3.1415926;
double x,result;
double sin(double x);
cout<<"Pleae input X:";
cin>>x;
result=sin(x*pi/180);//角度转换成弧度
cout<<"sinX="<<result<<endl;
return 0;
}
double sin(double x)
{ int i,si;
double r,e,f,sqr;
sqr=x*x;
r=0; e=x; i=1;si=1;
while(e/si>1e-6)
{
f=e/si;
r=(i%4==1)? r+f : r-f;
e=e*sqr; i+=2;si*=i*(i-1);
}
return r;
}

#include <stdio.h>
#include <conio.h>
#include <math.h>
double N(double n)
{
double Z=0;
if(n==0) Z=1;
else Z=n*N(n-1);
return Z;
}
double sinx(double angle)
{
int ct=0;
double ans=0.0;
double arc=angle*3.14159265/180.;
for(ct=0;ct<10;ct++)
ans+=(int)(pow(-1,ct))*pow(arc,2*ct+1)/N(2*ct+1);
return ans;
}
main()
{ int i;
for(i=0;i<100;i+=10)
printf("sin(%d)=%f\n",i,sinx(i));
getch();
}