xの値を0度から360度まで15度刻みで変化させ
sin(x)とcos(x)をwhile文を使って表示するプログラム
を作成中なのですがどうしてもエラーに
なってしまいます。
<math.h>を呼び出しているのですがいまひとつ
わかりません。
このプログラムを教えていただけないでしょうか?
sinとcosを求める
Re:sinとcosを求める
math.hで使われる角度は0-360度の角度ではなくて0-2πのラジアンという単位を使います
180度がπ(3.141592.....)なので例えばsin(30°)はsin(π * 30 / 180)で求められます
例はsin(30°)を表示するプログラムです
180度がπ(3.141592.....)なので例えばsin(30°)はsin(π * 30 / 180)で求められます
例はsin(30°)を表示するプログラムです
#include <stdio.h> #include <math.h> #define M_PI 3.14159265358979323846 int main (void){ printf("sin(30) = %f\n", sin(M_PI * 30 / 180)); return 0; }15度きざみのループはわかりますよね
Re:sinとcosを求める
toyoさんのC言語のプログラムをLuaというスクリプト言語で書くと以下のようになります。Luaにはセミコロン(;)は不要です。
local sin30 = math.sin(math.pi * 30 / 180) local message = string.format("sin(30) = %f", sin30 ) print( message ) ================= 結果 >lua -e "io.stdout:setvbuf 'no'" "30.lua" sin(30) = 0.500000 >Exit code: 0
Re:sinとcosを求める
コンパイルして、確認してませんが、
こんな感じですかね。?
こんな感じですかね。?
#include<stdio.h> #include<math.h> #define RAD (3.141592659/180) int main(void) { while(angle<360) { printf("sin(%d)度は%f:cos(%d)度は%fです。\n",angle,sin(angle*RAD),angle,cos(angle*RAD)); angle+=15; } }