それでは前回の復習を兼ねて、少し演習をしてみましょう。
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 続行するには何かキーを押してください・・・
今回は簡単な演習のみでしたが、関数の作り方に慣れてもらえたらと思います。