#include stdio.h
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联公司是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站建设、成都网站设计、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
#include math.h
int main () {
double SIN (double x, double eps);
double SQRT (double x, double eps);
double x, eps1=1.0e-3, eps2=1.0e-3;
printf ("input x \n");
scanf ("%lf", x);
printf ("SIN(%g)=%f \n", x, SIN(x,eps1));
printf ("sin(%g)=%f \n", x, sin(x));
printf ("SQRT(%g)=%f \n", x, SQRT(x,eps2));
printf ("sqrt(%g)=%f \n", x, sqrt(x));
return 0;
}
double SIN (double x, double eps) {
double sum = 0;
int sign = 1; /* 控制正负符号,初值为正 */
double f = 1; /* f = (2n+1)!,初值为1 */
double t = x; /* t = sign * x^(2n+1) / f,初值为x */
int i;
for (i=1; fabs (t)=eps; i+=2) {
if (i1) /* 第1项之后,f累乘i*(i-1) = i! = (2n+1)! */
f *= i*(i-1);
t = sign * pow (x, i) / f;
sum += t;
sign *= -1;
}
return sum;
}
double SQRT(double x, double eps) {
double x0, x1;
x0 = x / 2.0; /* x0取S/2 */
x1 = (x0 + x/x0) / 2.0;
do {
x0 = x1;
x1 = (x0 + x/x0) / 2.0;
}
while (fabs (x1-x0) = eps);
return x1;
}
如有疑问,可点击头像联系我~~
double sin(double x);
sin参数为double类型,返回值也为double
#includestdio.h
#includemath.h
int main()
{
const double pi = 3.1415926;
double d, e;
scanf("%f", d);
e = sin(2*pi*d/63.84);
printf("%lf\n", e);
return 0;
}
径度与角度不同
建议修改如下:
#include stdio.h
#include math.h
#define PI 3.14159265
void main()
{
float x;
double y;
printf("入角度值:\n");
scanf("%f",x);
y=sin(x*PI/180);
printf("sin(%f°)=%2lf\n",x,y);
}
sin(-a)=-sin(a)
cos(-a)=cos(a)
sin(2π-a)=cos(a)
cos(2π-a)=sin(a)
sin(2π+a)=cos(a)
cos(2π+a)=-sin(a)
sin(π-a)=sin(a)
cos(π-a)=-cos(a)
sin(π+a)=-sin(a)
cos(π+a)=-cos(a)
tgA=tanA=sinAcosA
2.两角和与差的三角函数
sin(a+b)=sin(a)cos(b)+cos(α)sin(b)
cos(a+b)=cos(a)cos(b)-sin(a)sin(b)
sin(a-b)=sin(a)cos(b)-cos(a)sin(b)
cos(a-b)=cos(a)cos(b)+sin(a)sin(b)
tan(a+b)=tan(a)+tan(b)1-tan(a)tan(b)
tan(a-b)=tan(a)-tan(b)1+tan(a)tan(b)
3.和差化积公式
sin(a)+sin(b)=2sin(a+b2)cos(a-b2)
sin(a)?sin(b)=2cos(a+b2)sin(a-b2)
cos(a)+cos(b)=2cos(a+b2)cos(a-b2)
cos(a)-cos(b)=-2sin(a+b2)sin(a-b2)
4.积化和差公式 (上面公式反过来就得到了)
sin(a)sin(b)=-12?[cos(a+b)-cos(a-b)]
cos(a)cos(b)=12?[cos(a+b)+cos(a-b)]
sin(a)cos(b)=12?[sin(a+b)+sin(a-b)]
5.二倍角公式
sin(2a)=2sin(a)cos(a)
cos(2a)=cos2(a)-sin2(a)=2cos2(a)-1=1-2sin2(a)
6.半角公式
sin2(a2)=1-cos(a)2
cos2(a2)=1+cos(a)2
tan(a2)=1-cos(a)sin(a)=sina1+cos(a)
7.万能公式
sin(a)=2tan(a2)1+tan2(a2)
cos(a)=1-tan2(a2)1+tan2(a2)
tan(a)=2tan(a2)1-tan2(a2)
8.其它公式(推导出来的 )
a?sin(a)+b?cos(a)=a2+b2sin(a+c) 其中 tan(c)=ba
a?sin(a)-b?cos(a)=a2+b2cos(a-c) 其中 tan(c)=ab
1+sin(a)=(sin(a2)+cos(a2))2
1-sin(a)=(sin(a2)-cos(a2))2
csc(a)=1sin(a)
sec(a)=1cos(a)
头文件包含。math.h
cos
:余弦函数
函数原型:double
cos(double
x);
头文件:#includemath.h
是否是标准函数:是
函数功能:求x的余弦值,这里,x为弧度。
返回值:计算结果的双精度值。
例程如下:
求cosx。
#include
stdio.h
#include
math.h
int
main(void)
{
double
result;
double
x
=
M_PI;
result
=
cos(x);
printf("cos(PI)
is
%lf\n",
result);
return
0;
}
sin:正弦函数
函数原型:double
sin(double
x);
头文件:#includemath.h
是否是标准函数:是
函数功能:求x的正弦值,这里,x为弧度。
返回值:计算结果的双精度值。
例程如下:
求sinx。
#include
stdio.h
#include
math.h
int
main(void)
{
float
x;
x=M_PI/2;
printf("sin(PI/2)=%f",sin(x));
getchar();
return
0;
}
#include math.h
#include stdio.h
#define FRE 1
#define MAX_NUM 5
#define PI 3.14159
void main()
{
int f=FRE;
int i;
double y,t;
for (t = 0.0; t 1.002; t+=0.002)
{
y = 0;
i = 1;
while(i = MAX_NUM)
{
y += sin(2 * PI * i * f * t);
i += 2;
}
printf("[%f]\n",y);
}
}