★関数(基礎3)★


それでは前回の復習を兼ねて、少し演習をしてみましょう。

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
続行するには何かキーを押してください・・・

今回は簡単な演習のみでしたが、関数の作り方に慣れてもらえたらと思います。


次へ

戻る

目次へ