【ニコニコ動画】ミクと学ぶC言語 第9回をやったぞ
グローバル変数、ローカル変数、サブルーチンなど。だんだん難しくなってきたでござる・・・。
/* distance.c */ #include <stdio.h> // プロトタイプ宣言 void input_data(void); int calculate(void); void output_data(int x); int v,t; // グローバル変数 宣言と同時に初期化 // main function int main(void) { int d; // ローカル変数 input_data(); d = calculate(); output_data(d); return 0; } // input data function void input_data(void){ printf("---データ入力---\n"); printf("速度[km/h]:"); scanf("%d", &v); printf("時間[ h]:"); scanf("%d", &t); return; // 戻り値がない サブルーチン void型で宣言 } // 計算用関数 int calculate(void){ return v * t; } // データ出力用関数 void output_data(int x){ printf("--- 計算結果 ---\n"); printf("距離[ km]:%d\n", x); return; // 戻り値がない サブルーチン void型で宣言 }
ちょっと答案の表記が違うが、練習問題も歯ごたえあったでござる。
/* cone.c */ #include <stdio.h> // プロトタイプ宣言 void input_data(void); double calc_volume(void); void output_data(double x); // グローバル変数 double r,h,pi = 3.14; // r,hもdouble型で宣言しとく。 int main(void){ double v; // ローカル変数 input_data(); v = calc_volume(); // 計算結果をvに突っ込む output_data(v); return 0; } void input_data(void){ printf("半径:"); scanf("%lf", &r); printf("高さ:"); scanf("%lf", &h); return; } double calc_volume(void){ return pi*r*r*h/3; // 式の結果を直接returnする } void output_data(double x){ printf("円錐の体積は:%f\n", x); return; }