C语言编写sin函数?求教!
#include "stdio.h"
#include "math.h"
main()
{
float x,a,b;
printf("Enter number:\n");
scanf("%d",&x);
a=sinx;
printf("sinx=%d\n",a);
b=cosx;
printf("cosx=%d\n",b);
}
结果错误,哪位大虾帮我看看,正确的应该怎么写啊?
我是新手刚学,这是老师出的作业。
要求是输出为 sin(***)=*** cos(***)=*** 展开
C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果
下面用for循环实现sin的算法,程序代码如下:
#include<stdio.h>
#include<math.h>
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泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加
{
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);
}
cos(x)