Ⅰ c语言正弦函数
sin值就是可以是负数。不过sin不是按角度算的,是按弧度算的。就是sin(PAI)=0;sin(PAI/2)=1。
Ⅱ C语言求正弦函数值
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)
Ⅲ 怎么用c语言编正弦函数计算
楼上的各位已经提到了scanf输入控制与目标数据类型不匹配的问题,即应改为:scanf("%f",&n);
另外三楼有提到说角度与弧度的问题,就是说sin()和cos()输入需要保证为弧度,所以你需要转换一下,比如你这个90度就应该约是1.57。
其实我觉得应该弄清楚的是为什么在输入控制错误的情况下,还会产生这样的结果。
这是因为输入控制错误,导致n的值没有变化,也就是说后边计算正弦余弦的时候也是计算的n的初始值。你可以在先不改正输入控制的前提下,在输入语句前加一个输出语句,看看n值为多少,如果没猜错的话,应该是0,进而计算的结果也当是正确的。也许你要问了,不是说局部变量自动变量未初始化的话值是随机值么,怎么会是0呢?是的,我也很纳闷,也许适合具体的编译环境有关吧,不同的编译环境对这种情况可能处理会有所不同吧,留待自己去探究咯~
希望能帮到你~欢迎交流~
Ⅳ c语言,如何求出正弦值最大的4位正整数,sinXXXX的最大值。要完整代码
#include <stdio.h>
#include <math.h>
int main()
{
double pi = atan(1.0) * 4;
int i,n;
double a;
printf("%g\n",pi);
for (i=1000;;i++){
a = pi/2.0 + 2.0*i*pi;
if ( a > 9999.5){n=i; break;};
}
printf("max is %d\n", (int)(pi/2.0 + 2.0*(n-1)*pi));
return 0;
}
正弦值最大 发生在 pi/2.0 + 2*n*pi 弧度时。pi 是圆周率。
最大的4位正整数,即 弧度值 接近并未超过 9999.5 时的值。
程序得到 9998.118620 取整数部分:9998
Ⅳ 怎样求正弦复合函数的极值
正弦函数的极值在π/2+kπ时有极大值和极小值,所以正弦复合函数的极值只要找定义域内符合这个条件的值
Ⅵ 怎样用c语言编写一个程序用来输出正弦函数值
首先:程序应该这样改!
#include
#include
main()
{
double
n;
double
b,c;
scanf("%lf",&n);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
其次,这里的n是弧度值,你说的90度应该输入的是pi/2,而不是90,如果希望输入90的话,那就这样改!
#include
#include
main()
{
int
s;
double
n,b,c;
scanf("%d",&s);
n=3.1415926*(s/180.0);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
Ⅶ C语言求正弦函数的极值点,下面的程序输入的大一些会死循环,求解释
楼主的算法在数学上是没有问题的,但在计算机上就不一样了.
x和x+h完全可能相等,
当x+h==x+0并且y(x-h)==y(x+h),然后就是死循环了.
建议楼主把程序中的float都换为double再试一试.
或者把&&y(x-h)<y(x+h)换成&&y(x-h)<=y(x+h).
再者,我搞不明白bool
bRet存在的意义是什么,望楼主释疑.
Ⅷ 如何用C语言求正弦函数,要求精确到小数点后六位
/*泰勒公式求sin(x)*/
#include<stdio.h>
#include <math.h>
main()
{
double x,s1,e,s=0;
int n=1;
printf("输入x和误差范围e:\n");
scanf("%lf %lf",&x,&e);/*误差上限e要尽量取小,如取e为0.0000001。这里我们将e取为0.000001*/
s1=x;
do
{
s+=s1; /*s1为中间变量*/
s1=-s1*x*x/(n+1)/(n+2);
n+=2;
} while (fabs(s1)>=e);/*fabs为对实数求绝对值的函数*/
printf("x=%lf\nsin(x)=%lf\n",x,s);
}
Ⅸ C语言sin怎么用
C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。
例子:
#include <math.h>
main(){
double answer = sin(0.5);
printf("sin(0.5) = %f ", answer);
}
执行
sin(0.5) = 0.479426
C语言sin():
sin()原型:double sin(double x)
sin()角度与弧度:
π=180°
1°=π/180
1(rad)=180/π
角度转弧度:用角度乘以π/180
弧度转角度:用弧度乘以180/π,或者用rtod()函数
(9)c语言计算正弦函数的极值扩展阅读:
与sin相似的acos函数
函数名: acos
功 能:计算并返回arccos(x)值、要求-1<=X<=1
函数与形参类型:
double acos(x)
double x;
程序例:
#include <stdio.h>
#include <math.h> int main(void)
{
double result;
double x = 0.5; result = acos(x);
printf("The arc cosine of %lf is %lf ", x, result);
return 0;
}
Ⅹ c语言如何计算正弦值
C语言中有个 math.h 这个头文件,使用数学公式时,引入这个头文件即可
比如计算正弦值
double ds = sin(45); //直接调用
或者计算 a的b次幂
double dp = pow(a,b); //直接调用非常方便