next up previous
Next: 数学関数ライブラリの使い方 Up: 実習 Previous: 実習

例 1: ヘロンの公式を使った 3 角形の面積

まずは, 3 角形の 3 辺からその面積を求めるプログラムを ヘロンの公式を使って書いて見ます.

実際の例を以下に示します. この例では, 数学関数ライブラリを使います. そこにある関数の定義には, math.h というファイルを include します. 使う関数は, sqrt で awk でも出て来ましたが, 平方根をとる関数です. 数学関数ライブラリでどのような関数が利用 できるかは, ファイル /usr/include/math.h を読めばわかります. 最初の実習で言いましたが, *.h のファイル名のファイルは, ヘッダ(header)ファイルと呼ばれ, プログラミングに必要な様々な 定義を記述するのに用いられます. それらは当然, 内容によって ファイルが異なります. 全部をひとつのファイルに書かれると, 人間の処理能力を超えてしまうのは, 容易に想像がつくでしょう. ファイル /usr/include/math.h には, 数学関数の定義以外にも, 数値計算で必要な定数も定義されています. それも見ておいて下さい. 必要とあれば, それは積極的に利用します.

/* File name 4-2.c */
/* Computes the area of triangle */

#include <stdio.h>
#include <math.h>
#define BUFFSIZE 1024

double heron(double a, double b, double c);

main()
{
     double x, y, z, area;  /* x, y and z are the lengths of sides. */
     char nyuryoku[BUFFSIZE];

     printf("Input the lengths of sides.>>");
     fgets(nyuryoku, BUFFSIZE, stdin);
     sscanf(nyuryoku, "%lf %lf %lf", &x, &y, &z);

     area = heron(x, y, z);
     printf("The area is %f\n", area);
}

double heron(double a, double b, double c)
{
     double s;

     s = (a + b + c)/2.0 ;

     return sqrt(s*(s-a)*(s-b)*(s-c));
}



Subsections

Next: 数学関数ライブラリの使い方 Up: 実習 Previous: 実習