math.h
環境によっては、コンパイル時に、-lm
をつけないと undefined reference
とエラーをはく。
undefined reference to sqrt (or other mathematical functions)
三角関数
引数はラジアンで与える。
#include <stdio.h> #include <math.h> #define PI 3.14 double deg2rad(double); int main(void) { double angle; double radian; printf("Please input an angle: "); scanf("%lf", &angle); radian = deg2rad(angle); printf("sin %lf = %lf\n", angle, sin(radian)); printf("cos %lf= %lf\n", angle, cos(radian)); printf("tan %lf = %lf\n", angle, tan(radian)); return 0; } // 角度をラジアンに変換。 double deg2rad(double angle) { double radian; radian = PI * angle / 180.0; return radian; }
絶対値、べき乗、平方根
#include <stdio.h> #include <math.h> int main(void) { double x = -2.0, y = 2.0; printf("%lfの絶対値: %lf\n", x, fabs(x)); printf("%lfの2乗: %lf\n", x, pow(x, 2)); printf("%lfの3乗: %lf\n", x, pow(x, 3)); printf("%lfの平方根: %lf\n", y, sqrt(y)); return 0; }