[c言語] さっと復習(9) math.h

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;
}