【C言語】0が入力されるまで入力値を配列に保存する方法

目次から探す

入力値を配列に保存する方法

プログラムでユーザーからの入力を受け付け、0が入力されるまで入力値を配列に保存する方法について説明します。

入力値の取得方法

C言語では、ユーザーからの入力を受け付けるためにscanf関数を使用します。

scanf関数は、指定した書式に従って入力値を変数に格納することができます。

以下は、ユーザーから整数の入力を受け付ける例です。


int num;
scanf("%d", &num);

上記の例では、%dという書式指定子を使用して整数の入力を受け付けています。

入力された整数はnumという変数に格納されます。

配列の宣言と初期化

配列を使用して複数の入力値を保存するためには、まず配列を宣言し、必要に応じて初期化する必要があります。

以下は、10個の整数を保存するための配列を宣言し、全ての要素を0で初期化する例です。


int array[10] = {0};

上記の例では、arrayという名前の配列を宣言し、{0}という初期化リストを使用して全ての要素を0で初期化しています。

入力値の保存方法

ユーザーからの入力を受け付け、配列に保存するためには、scanf関数をループさせることで繰り返し入力を受け付ける必要があります。

また、入力値が0であるかどうかを判定し、0が入力された場合にループを終了する必要があります。

以下は、ユーザーからの入力を受け付け、0が入力されるまで入力値を配列に保存する例です。


int array[10] = {0};
int i = 0;
int num;
while (1) {
    scanf("%d", &num);
    if (num == 0) {
        break;
    }
    array[i] = num;
    i++;
}

上記の例では、whileループを使用して入力を繰り返し受け付けています。

入力された値が0である場合、break文によってループを終了させます。

それ以外の場合、入力値を配列の要素に保存し、iをインクリメントして次の要素に保存します。

入力値の表示

最後に、保存された入力値を表示する方法について説明します。

以下は、保存された入力値を順番に表示する例です。


for (int j = 0; j < i; j++) {
    printf("%d ", array[j]);
}
printf("\n");

上記の例では、forループを使用して配列の要素を順番に表示しています。

iは保存された入力値の個数を表しており、jはループ変数です。

printf関数を使用して要素を表示し、要素の間にはスペースを入れています。

最後に改行を出力するためにprintf("\n")を使用しています。

これで、0が入力されるまで入力を受け付け続け、0が入力されたら配列のデータを表示するプログラムが完成しました。

目次から探す