C++编程【问题描述】根据泰勒公式,求sinx的值。

4.【问题描述】根据泰勒公式,sinx可用x/1-x3/3!+x5/5!-x7/7!...+(-1)n-1x2n-1/(2n-1)!近似计算,取n=10,求sinx的值。

第1个回答  推荐于2016-07-31
#include <iostream>
#define PI 3.1415926
double sin(double x)
{
double s;
if(x>2*PI)
x-=2*PI*(int)(x/PI/2);
if(x*2>PI)
if(x<PI)
s=sin(PI-x);
else if(x*2<PI*3)
s=-sin(PI-x);
else
s=-sin(x);
else
{
double a=x,b=1,t,r=0,xx=x*x,s=1,i=3;
do
{
t=a/b;
r+=t*s;
a=a*xx;
b=b*i;
i+=2;
s=s==1?-1:1;
}while(t>1e-5);
return r;
}
return s;
}
int main()
{
using namespace std;
double x;
cout<<"请输入x值:";cin>>x;
cout<<"sin(x)="<<sin(x);
return 0;
}追问

【输入形式】输入x,x为弧度制
【输出形式】保留2位小数
【样例输入】3.14
【样例输出】sin(x)=0.00

本回答被提问者采纳

C++编程【问题描述】根据泰勒公式,求sinx的值。
double x;cout<<"请输入x值:";cin>>x;cout<<"sin(x)="<<sin(x);return 0;}

C++编程4. 【问题描述】根据泰勒公式,求sinx的值。
include <stdio.h>int main(){int i;double x,r = 0, item = 0;scanf("%lf",&x);for(i = 1, item = x; i <= 10; i ++){if(i != 1) item = item * x * x * -1 \/ (2*i-1)\/(2*i-2);r += item;}printf("sin(x)=%.2lf\\n", r);} ...

c语言 根据泰勒公式求sinx的近似值
} printf("sinx=x-x^3\/3!+x^5\/5!-..");printf("sinx=%f",mynum);getch();}

C++用泰勒公式求sinx值有问题
我知道了,你的阶乘太大了,明显超出LONG的范围 输入小点,比如90 15 把数据类型换一下,换成long double include<iostream> include<cmath> using namespace std;const double PI=3.141592653;int main(){ long double x,fsin=0;long double jecheng(int n);int l,xiangshu=1,t=1,i=1,m=1;...

c语言,如何用泰勒公式求sinx?
sum ,term;printf("input x:");scanf("%f",&x);sum=x;term=x;do{term=-term*x*x\/((n+1)*(n+2));sum=sum+term;n=n+2;count++;}while (fabs(term)>=1e-5);\/\/这里可以改精度,我给你的是10的-5次方的精度 printf("sin(x)=%g,count=%d\\n",sum,count); return 0;} ...

求用C++语言编写y=sinx,用泰勒公式
double sinx;int a = 1; \/\/控制正负相间 double b; \/\/记录x的分母次方 double c = 1.0; \/\/分母 double d = 1.0; \/\/记录分母的阶乘 double temp; \/\/记录泰勒公式每项的值 cin>>x;sinx = x; \/\/第一项 b = x; \/\/b的初始化 do { a = -a; \/\/正负变换 c += 2; \/\/...

C语言 泰勒公式的sinx问题
include <math.h> int main(){ int i=1,b=1;float x,a,s=0;printf("输入x的值");scanf("%f",&x);a=x;while(fabs(a\/b)>=1e-6){ s+=(a\/b);a=-1*a*x*x;b=b*2*i*(2*i+1);i++;} printf("%f",s);return 0;} 这是我运行的结果,代码是C++版本,因为我的VC不...

c语言求泰勒公式sinx近似值
你的程序错误太多。直接给出按泰勒公式展开求sinx近似值的程序。include <stdio.h>#include <math.h>int main(){double i,x,k,s=0;scanf("%lf",&x);k=x;for(i=1;abs(k)>=0.0000001;i++){s+=k;k*=-x*x\/(i*2*(i*2+1));}printf("%.3lf",s);return 0;}\/\/运行示例...

各位大佬,我用c++打的sinx 泰勒公式 但是输入什么值就输出什么值, 代 ...
while (fabs(sinx)<1.0e-5);要改为:while (fabs(sinx)>1.0e-5);

利用泰勒公式求解的问题:0<x<1内,求sinx,e^x-1与 In(x+1)的大小.
sinx=sin0+cos0*x-sin0*x^2\/2-cos0*x^3\/3!+sin0*x^4\/4!+cos0*x^5\/5!=x-x^3\/6+x^5\/120 e^x-1=e^0+e^0*x\/1+x^2\/2+x^3\/3!+……-1 =x+x^2\/2+x^3\/6+x^4\/24 这个都是加号,最大 ln(x+1)=ln1+1\/(0+1)*x\/1 -1\/(0+1)^-2*x^2\/2! +...

相似回答