sinとcosを求める

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
五島

sinとcosを求める

#1

投稿記事 by 五島 » 15年前

xの値を0度から360度まで15度刻みで変化させ
sin(x)とcos(x)をwhile文を使って表示するプログラム
を作成中なのですがどうしてもエラーに
なってしまいます。

<math.h>を呼び出しているのですがいまひとつ
わかりません。

このプログラムを教えていただけないでしょうか?

MNS

Re:sinとcosを求める

#2

投稿記事 by MNS » 15年前

まずは、そのエラーが出るコードと、エラーの内容を提示してください。
そうすれば、こちらから助言することが出来ます。

toyo

Re:sinとcosを求める

#3

投稿記事 by toyo » 15年前

math.hで使われる角度は0-360度の角度ではなくて0-2πのラジアンという単位を使います
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度きざみのループはわかりますよね

Naohiro19

Re:sinとcosを求める

#4

投稿記事 by Naohiro19 » 15年前

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

KEYONN_

Re:sinとcosを求める

#5

投稿記事 by KEYONN_ » 15年前

コンパイルして、確認してませんが、
こんな感じですかね。?
#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;
		
	}
}

初級者

Re:sinとcosを求める

#6

投稿記事 by 初級者 » 15年前

どうせなら、angleの定義と初期化もしてあげましょう。

dic

Re:sinとcosを求める

#7

投稿記事 by dic » 15年前

ラジアンでしたっけ?
高校で習ってないのよねぇ・・・

閉鎖

“C言語何でも質問掲示板” へ戻る