C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果
下面用for循环实现sin的算法,程序代码如下:
#include
#include
void main()
{
int i;
float x,sum,a,b; //sum代表和,a为分子,b为分母
char s;
printf("please input x");
scanf("%f",&x);
s=1;
sum=0;
a=x; //分母赋初值
b=1; //分子赋初值
for(i=1;a/b>=1e-6;i++)
{
sum=sum+s*a/b; //累加一项
a=a*x*x; //求下一项分子
b=b*2*i*(2*i+1); //求下一项分母
s*=-1;
}
printf("sum=%f\n",sum);
}
3. 关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式 sin x=x-x^3/3!+x^5/5! ...... ,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加
main()
{
float x,a,b;
printf("Enter number:\n");
scanf("%f",&x);
a=sin(x);
printf("sinx=%.2f\n",a);
b=cos(x);
printf("cosx=%.2f\n",b);
}
这是角度单位,需要换算一下
main()
{
float x,a,b;
printf("Enter number:\n");
scanf("%f",&x);
x=x*3.14/180;
a=sin(x);
printf("sinx=%.2f\n",a);
b=cos(x);
printf("cosx=%.2f\n",b);
}
sin(x)
cos(x)