Ex2_22.cpp
上传用户:wuzhousb
上传日期:2022-07-12
资源大小:380k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //【例2.22】 输入一个小于1的数x,求sinx的近似值,要求误差小于0.0001。
  2. #include<iostream>
  3. using namespace std;
  4. int main(){
  5. const double epsilon=0.0001;          //用epsilon保存误差
  6. double x,sinx,item;
  7. int n=2,sign=-1;                     //sign保存符号
  8. cout<<"input x:";
  9. cin>>x;
  10. sinx=x;item=x*x*x/6;                //第一项作为初值,第二项为误差项
  11. while(item>epsilon){
  12. sinx=sinx+item*sign;            //将当前项累加进结果,注意符号作为因子
  13. item=item*x*x/((2*n)*(2*n+1));   //推算新的误差项
  14. sign=-sign;                    //注意符号的变换
  15. n++;
  16. }
  17. cout<<"sin("<<x<<")="<<sinx<<endl;
  18. return 0;
  19. }