调用math.h中的三角函数,需要将角度值变换为弧度值,代码如下:
创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为开化企业提供专业的成都网站设计、成都网站建设,开化网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
#includestdio.h
#includemath.h
#define PI 3.14159265359
int main()
{
float st,a;
scanf("%f",st);
a = st * PI/180;
printf("sin(st)=%f\n", sin(a));
printf("cos(st)=%f\n", cos(a));
return 0;
}
math.h里的三角函数用的单位是弧度,你貌似错在这里。答案补充Example\x0d\x0a\x0d\x0a/*SINCOS.C:Thisprogramdisplaysthesine,hyperbolic\x0d\x0a*sine,cosine,andhyperboliccosineofpi/2.\x0d\x0a*/\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a\x0d\x0avoidmain(void)\x0d\x0a{\x0d\x0adoublepi=3.1415926535;\x0d\x0adoublex,y;\x0d\x0a\x0d\x0ax=pi/2;\x0d\x0ay=sin(x);\x0d\x0aprintf("sin(%f)=%f\n",x,y);\x0d\x0ay=sinh(x);\x0d\x0aprintf("sinh(%f)=%f\n",x,y);\x0d\x0ay=cos(x);\x0d\x0aprintf("cos(%f)=%f\n",x,y);\x0d\x0ay=cosh(x);\x0d\x0aprintf("cosh(%f)=%f\n",x,y);\x0d\x0a}答案补充Output\x0d\x0a\x0d\x0asin(1.570796)=1.000000\x0d\x0asinh(1.570796)=2.301299\x0d\x0acos(1.570796)=0.000000\x0d\x0acosh(1.570796)=2.509178\x0d\x0a\x0d\x0aParameter\x0d\x0a\x0d\x0ax\x0d\x0a\x0d\x0aAngleinradians
math.h里的三角函数用的单位是弧度,你貌似错在这里。 答案补充 Example
/* SINCOS.C: This program displays the sine, hyperbolic
* sine, cosine, and hyperbolic cosine of pi / 2.
*/
#include math.h
#include stdio.h
void main( void )
{
double pi = 3.1415926535;
double x, y;
x = pi / 2;
y = sin( x );
printf( "sin( %f ) = %f\n", x, y );
y = sinh( x );
printf( "sinh( %f ) = %f\n",x, y );
y = cos( x );
printf( "cos( %f ) = %f\n", x, y );
y = cosh( x );
printf( "cosh( %f ) = %f\n",x, y );
} 答案补充 Output
sin( 1.570796 ) = 1.000000
sinh( 1.570796 ) = 2.301299
cos( 1.570796 ) = 0.000000
cosh( 1.570796 ) = 2.509178
Parameter
x
Angle in radians
求sin的:参考下 #includestdio.h void main() { double x,a,b,sum=0; printf("请输入x的弧度值:\n"); scanf("%lf",x); int i,j,count=0; for(i=1i+=2) { count++; a=b=1; for(j=1;j=i;j++) { a*=x; b*=(double)j; } if(a/b0.0000001) break; else { if(count%2==0) sum-=a/b; else sum+=a/b; } } printf("%lf\n",sum); }