それでは前回の復習を兼ねて、少し演習をしてみましょう。
main関数だけ書きますので、仕様に合った関数を作ってみてください。
まずは、戻り値も引数も無い関数を作ってみましょう。
<sample program 128-01>
#include <stdio.h> int main(void) { Display(); return 0; } |
<関数の仕様> 関数名 Display 機 能 画面に"Function Test"と表示する 引 数 なし 戻り値 なし
<実行結果>
Function Test 続行するには何かキーを押してください・・・
解答例です。
<sample program 128-01>
#include <stdio.h> void Display(void); int main(void) { Display(); return 0; } void Display(void) { printf("Function Test\n"); } |
<実行結果>
Function Test 続行するには何かキーを押してください・・・
次は戻り値なし、引数ありのケースです。
<sample program 128-02>
#include <stdio.h> int main(void) { int a; scanf("%d", &a); Multiple(a); return 0; } |
<関数の仕様>
関数名 Multiple
機 能 渡された値が5の倍数であれば、"5の倍数"と表示する
引 数 int型の数値(変数名はvalueで構いません)
戻り値 なし
<実行結果1>
25 5の倍数 続行するには何かキーを押してください・・・
<実行結果2>
3 続行するには何かキーを押してください・・・
解答例です。
<sample program 128-02>
#include <stdio.h> void Multiple(int value); int main(void) { int a; scanf("%d", &a); Multiple(a); return 0; } void Multiple(int value) { if (value % 5 == 0) { printf("5の倍数\n"); } } |
<実行結果1>
25 5の倍数 続行するには何かキーを押してください・・・
<実行結果2>
3 続行するには何かキーを押してください・・・
次は戻り値、引数ともにあるケースです。
<sample program 128-03>
#include <stdio.h> int main(void) { int result; int a; scanf("%d", &a); result = Triple(a); printf("Triple = %d\n", result); return 0; } |
<関数の仕様>
関数名 Triple
機 能 渡された値を3倍して戻す
引 数 int型の数値(変数名はvalueで構いません)
戻り値 int型
<実行結果>
5 Triple = 15 続行するには何かキーを押してください・・・
解答例です。
<sample program 128-03>
#include <stdio.h> int Triple(int value); int main(void) { int result; int a; scanf("%d", &a); result = Triple(a); printf("Triple = %d\n", result); return 0; } int Triple(int value) { return value * 3; } |
<実行結果>
5 Triple = 15 続行するには何かキーを押してください・・・
最後は引数が複数あるケースです。
<sample program 128-04>
#include <stdio.h> int main(void) { int result; int a, b; scanf("%d", &a); scanf("%d", &b); result = Max(a, b); printf("Max = %d\n", result); return 0; } |
<関数の仕様>
関数名 Max
機 能 渡された2つの値の内、大きい方を戻す
引 数 int型の数値2つ(変数名はvalue1, value2で構いません)
戻り値 int型
<実行結果1>
5 3 Max = 5 続行するには何かキーを押してください・・・
<実行結果2>
1 3 Max = 3 続行するには何かキーを押してください・・・
解答例です。
<sample program 128-04>
#include <stdio.h> int Max(int value1, int value2); int main(void) { int result; int a, b; scanf("%d", &a); scanf("%d", &b); result = Max(a, b); printf("Max = %d\n", result); return 0; } int Max(int value1, int value2) { if (value1 > value2) { return value1; } else { return value2; } } |
<実行結果1>
5 3 Max = 5 続行するには何かキーを押してください・・・
<実行結果2>
1 3 Max = 3 続行するには何かキーを押してください・・・
今回は簡単な演習のみでしたが、関数の作り方に慣れてもらえたらと思います。