太乐了!

来源:互联网 发布:ios图片浏览软件 编辑:程序博客网 时间:2024/04/29 04:23
#include <iostream>    #include<Cmath>  //为便于对比结果,main函数中调用了Cmath中的库函数sin和cos   using namespace std;  const double pi=3.1415926;  double mysin(double);  double mycos(double);  double myabs(double);   //程序中需要求精度的绝对值,也用自定义函数完成吧   int main( )  {      cout<<"sin(π/2)的值为"<<mysin(pi/2);      cout<<",利用库函数求得sin(π/2)的值为"<<sin(pi/2)<<endl<<endl;            cout<<"sin(56°)的值为"<<sin((56.0/180)*pi);      cout<<",利用库函数求得sin(56°)的值为"<<sin((56.0/180)*pi)<<endl<<endl;            cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi);      cout<<",利用库函数求得cos(87°)的值为"<<cos((87.0/180)*pi)<<endl<<endl;               cout<<"cos(π/3)的值为"<<mycos(pi/3);      cout<<",利用库函数求得cos(π/3)的值为"<<cos(pi/3)<<endl<<endl;            return 0;  }  //下面定义mysin函数   double mysin(double x)  {      double sum=x,x_pow=x,item;      int n=1,fact=1,sign=1;     //定义变量时赋初值,已经将第一项考虑到累加和sum中       do      {          fact=fact*(n+1)*(n+2);  //fact用于表示阶乘,在公式中作分母           x_pow*=x*x;             //x_pow是分子中用于表示阶乘,在公式中作分母           sign=-sign;             //确定即将要累加的这一项的符号           item =x_pow/fact*sign; //计算出要累加的项           sum+=item;              //将该项累加上去           n+=2;      }while(myabs(item)>1e-5);      return sum;  }    //下面定义mycos函数   double mycos(double x)  {      double sum=1,x_pow=1,item;      int n=0,fact=1,sign=-1;      do      {          fact=fact*(n+1)*(n+2);          x_pow*=x*x;          item =x_pow/fact*sign;          sum+=item;          sign=-sign;          n+=2;      }while(myabs(item)>0.00001);      return sum;  }    //下面定义myabs函数   double myabs(double x)  {      return ((x>=0)?x:-x);  }

原创粉丝点击