ex2_22.cpp

来自「c++程序设计教材第二版书上即课后习题源代码」· C++ 代码 · 共 22 行

CPP
22
字号
//【例2.22】 输入一个小于1的数x,求sinx的近似值,要求误差小于0.0001。

#include<iostream>
using namespace std;

int main(){
	const double epsilon=0.0001;          //用epsilon保存误差
	double x,sinx,item;
	int n=2,sign=-1;                     //sign保存符号
	cout<<"input x:";
	cin>>x;
	sinx=x;item=x*x*x/6;                //第一项作为初值,第二项为误差项
	while(item>epsilon){
		sinx=sinx+item*sign;            //将当前项累加进结果,注意符号作为因子
		item=item*x*x/((2*n)*(2*n+1));   //推算新的误差项
		sign=-sign;                    //注意符号的变换
		n++;
	}
	cout<<"sin("<<x<<")="<<sinx<<endl;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?