在C中求sin(30),为什么结果不是1/2?#include <stdio.h>#include <math.h>void main(){\x05double x,s;\x05printf("input number:\n");\x05scanf("%lf",&x);\x05s=sin(x);\x05printf("sin of %lf is %lf\n"

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 03:11:33
在C中求sin(30),为什么结果不是1/2?#include <stdio.h>#include <math.h>void main(){\x05double x,s;\x05printf("input number:\n");\x05scanf("%lf",&x);\x05s=sin(x);\x05printf("sin of %lf is %lf\n"

在C中求sin(30),为什么结果不是1/2?#include <stdio.h>#include <math.h>void main(){\x05double x,s;\x05printf("input number:\n");\x05scanf("%lf",&x);\x05s=sin(x);\x05printf("sin of %lf is %lf\n"
在C中求sin(30),为什么结果不是1/2?
#include <stdio.h>
#include <math.h>


void main()
{
\x05double x,s;
\x05printf("input number:\n");
\x05scanf("%lf",&x);
\x05s=sin(x);
\x05printf("sin of %lf is %lf\n",x,s);
}\x05


在C中求sin(30),为什么结果不是1/2?#include <stdio.h>#include <math.h>void main(){\x05double x,s;\x05printf("input number:\n");\x05scanf("%lf",&x);\x05s=sin(x);\x05printf("sin of %lf is %lf\n"
因为在c库中,所有关于角的数学函数,如sin,cos,tan,.,其角度的单位采用弧度制(Rad),所以,调用这类函数前,应先将角度转换为弧度,然后再调用;而如反三角函数的调用结果,也是这样,不是角度而是弧度.
将上面的程序改为即可:
#include
#include
void main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=x*3.1415926/180.0;
s=sin(s);
printf("sin of %lf is %lf\n",x,s);
}