C语言三角函数计算
为啥sin30和sin150计算出来的值不一样啊,这两个值应该相等啊,各位大佬指点一下 本帖最后由 jackz007 于 2022-10-10 16:38 编辑你这个结果显然属于误差,是因为你的 pi 值精度不够造成。
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
int main(void)
{
printf("sin( 30) = %f\n" , sin(30 * PI / 180));
printf("sin(150) = %f\n" , sin(150 * PI / 180)) ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
sin( 30) = 0.500000
sin(150) = 0.500000
D:\\C> 因为你的3.14≠π 3.14!=pi 0.499 和0.501 这看做是等于 也是没问题的 我才发现是我的π精度太低了{:5_109:}
页:
[1]