C语言输入x求SINX,公式sinx=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!......
#include<stdio.h>doublef(doublex,inty){doubles=1;for(inti=0;i<y;i++){s=s*x;}returns;}...
#include<stdio.h>
double f(double x,int y)
{
double s=1;
for(int i=0;i<y;i++)
{
s=s*x;
} return s;
}
int g(int x)
{
int s=1,k=0;
for(int i=0;i<x;i++)
{
k++;
s=k*s;
}
return s;
}
void main(void)
{
int b=1,i=1;
double x,c=0,sinx=0;
scanf("%lf",&x);
do
{
i++;
c=f(x,b)/g(b);
sinx=c*f(-1,i)+sinx;
b=b+2;
}
while(c<=f(0.1,6));
printf("%.5lf\n",sinx);
} 展开
double f(double x,int y)
{
double s=1;
for(int i=0;i<y;i++)
{
s=s*x;
} return s;
}
int g(int x)
{
int s=1,k=0;
for(int i=0;i<x;i++)
{
k++;
s=k*s;
}
return s;
}
void main(void)
{
int b=1,i=1;
double x,c=0,sinx=0;
scanf("%lf",&x);
do
{
i++;
c=f(x,b)/g(b);
sinx=c*f(-1,i)+sinx;
b=b+2;
}
while(c<=f(0.1,6));
printf("%.5lf\n",sinx);
} 展开
2个回答
展开全部
只是这个程序写得太复杂了:
#include<stdio.h>
double f(double x,int y)
{
double s=1;
for(int i=0;i<y;i++)
{
s=s*x;
} return s;
}
double g(int x)
{
double s=1;
int k=0;
for(int i=0;i<x;i++)
{
k++;
s=k*s;
}
return s;
}
main(void)
{
int b=1,i=1;
double x,c=0,sinx=0;
scanf("%lf",&x);
do
{
i++;
c=f(x,b)/g(b);
sinx=c*f(-1,i)+sinx;
b=b+2;
}
while(c>=1e-6);
printf("%.5lf\n",sinx);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询