C代码:
#include
#include
int main()
{ double x,s,a;//为了提高精度,我把它们定义成双精度的。
int i;
scanf("%lf",&x);//注意x为弧度,输入的值过大没意义只要在-2*∏~2*∏即可。因为C语言的运算精确度有限。例如输入1.7,输出0.99166465
a=x;
s=a;
for(i=1;;i+=2)
{
a*=x*x*(-1)/((i+1)*(i+2));
if(fabs(a)<1e-7) break;
s+=a;
}
printf("%.8f\n",s);
return 0;
} //用泰勒展开式求sinx
C++代码:
#include
#include
#include
using namespace std;
int main()
{ double x,s,a;//为了提高精度,我把它们定义成双精度的。
int i;
cin>>x;//注意x为弧度,输入的值过大没意义只要在-2*∏~2*∏即可。因为C语言的运算精确度有限。例如输入1.7,输出0.99166465
a=x;
s=a;
for(i=1;;i+=2)
{
a*=x*x*(-1)/((i+1)*(i+2));
if(fabs(a)<1e-7) break;
s+=a;
}
cout<
} //用泰勒展开式求sinx
另外,团IDC网上有许多产品团购,便宜有口碑
//用C语言给你写了个程序,你看看怎么样:
#include
#include
double function(int n) //函数的功能是计算n的阶乘
{
int i = 1;
double d = 1.0;
while(i != (n+1))
{
d *= i;
i++;
}
return d;
}
int main()
{
int i = 2;
double X;
double dsum = 0.0;
printf("please inter the X:");
scanf("%lf",&X);
while(fabs(X) >= 1e-5)
{
dsum += X;
X *= X ;
X /= function(i);
i++;
}
printf("the dsum is %.2lf",dsum);
return 0;
}