サイン、コサインの精度
初心者です。
サイン、コサインを使ってプログラムを書いていたのですが、
精度が悪くて話になりません。
誰か助けてくださ~い。
プログラム ↓
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#include <stdio.h>
#include <math.h>
int main(){
double angle = 0;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 90;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 180;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 270;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 45;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f\n",sin(angle),cos(angle));
return 0;}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コンパイル後 ↓
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
[~@~]$ gcc -o try2.exe try2.c -lm
[~@~]$ ./try2.exe
angle = 0.000000
sin(angle)-0.000000 , cos(angle)-1.000000
angle = 90.000000
sin(angle)-0.893997 , cos(angle)--0.448074
angle = 180.000000
sin(angle)--0.801153 , cos(angle)--0.598460
angle = 270.000000
sin(angle)--0.176046 , cos(angle)-0.984382
angle = 45.000000
sin(angle)-0.850904 , cos(angle)-0.525322
[~@~]$
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
OSは Fedora Core 6 です。
あんまり詳しいことにはなれてません。
お礼
丁寧に回答をいただき有難うございました。 いろいろやったところ、原因がmath.hのライブラリへのリンクがうまくできて いなかったようで、libm.aというのをリンクしたところコンパイルができました。 いろいろと時間を割いて回答いただき、ありがとうございました。