1989年開業 技術士 佐伯英子(情報工学部門) 文部科学省登録番号 第22082号 日本技術士会会員 東大阪商工会議所会員

≫サンプルプログラム一覧 

オープンソース/C言語サンプルプログラム  関数表作成(正接:tangent)

●正接(タンジェント)の関数表を作成するプログラムです。
●-89度から89度まで1度きざみに計算し、画面とテキストファイルに出力
 します。
●テキストファイルは、実行ファイルと同じフォルダに作成されます。
●角度と関数値の区切りはタブ文字(\t)です。
 ≫ソースファイルのダウンロード: math-tan01.c
【注意】
●tan()関数は、引数に90度や-90度を渡してはいけません。
 無限大の計算になります。
【問題】
●ラジアンの値も表示・保存できるようにしてみよう。
●作成されたテキストファイルを、表計算ソフトで読み込んでみよう。
●表計算ソフトでグラフにしてみよう。
【発展問題】
●他の関数表を作ってみよう。

/*************************/
/*  正接関数表を作成する */
/*************************/

#include <stdio.h>
#include <math.h>

void  main( )
{
    int     thd;
    double  th;
    FILE   *fp=NULL;
    char    c[128];

    printf("\n***関数表作成(正接)***\n");
    printf("\n※関数表はtangent.txtに保存されます\n");

    fp=fopen("tangent.txt","w");                        // ファイルを開く
    if ( fp==NULL ) goto L9;
    fputs("正接表\n\n",fp);                             // ファイルに書く

    fputs("角度°\t正接\n",fp);                         // ファイルに書く
    printf("\n角度°\t正接\n");                         // 画面に表示

    for( thd=-89; thd<90; thd+=1 )
     {
        th=thd*0.017453295;                             // 度→ラジアン
        sprintf(c,"%3d\t%10.6f\n",thd,tan(th));
        fputs(c,fp);                                    // ファイルに書く
        printf(c);                                      // 画面に表示
     }

L9: if ( fp!=NULL ) fclose(fp);                         // ファイルを閉じる
}
   

※SSL暗号化通信対応

佐伯英子技術士事務所 〒542-0073 大阪市中央区日本橋 1-14-13 サンオフィス日本橋601  E-mail: yfb22332@nifty.com