[C言語] 入力した数字をそのまま画面に表示する方法

C言語でユーザーから入力された数字をそのまま画面に表示するには、標準入力と標準出力を使用します。

具体的には、scanf関数を用いてユーザーからの入力を受け取り、printf関数を使ってその値を表示します。

例えば、整数を扱う場合、int型の変数を用意し、scanf("%d", &変数名);で入力を受け取り、printf("%d", 変数名);で表示します。

この方法を使うことで、ユーザーが入力した数値をプログラム内で処理し、結果を出力することが可能です。

この記事でわかること
  • C言語での基本的な入力処理と出力処理の方法
  • 複数の数字を入力し、表示するプログラムの作成方法
  • 入力された数字の合計を計算して表示する方法
  • 入力された数字を逆順に表示する方法
  • よくある問題の解決策と注意点

目次から探す

入力した数字を画面に出力する

C言語でユーザーから入力された数字をそのまま画面に表示する方法について解説します。

このプロセスは、基本的な入出力操作を理解するための重要なステップです。

入力処理

入力処理では、ユーザーからのデータを受け取るためにscanf関数を使用します。

scanf関数は、標準入力からデータを読み取るための関数で、フォーマット指定子を用いて入力の形式を指定します。

#include <stdio.h>
int main() {
    int number; // ユーザーから入力される数字を格納する変数
    printf("数字を入力してください: "); // ユーザーに入力を促すメッセージを表示
    scanf("%d", &number); // ユーザーから整数を入力として受け取る
    return 0;
}

上記のコードでは、%dは整数を読み取るためのフォーマット指定子であり、&numberは入力された値を格納する変数のアドレスを指定しています。

出力処理

出力処理では、printf関数を使用して、入力された数字を画面に表示します。

printf関数もフォーマット指定子を用いて出力の形式を指定します。

#include <stdio.h>
int main() {
    int number; // ユーザーから入力される数字を格納する変数
    printf("数字を入力してください: ");
    scanf("%d", &number);
    printf("入力された数字は: %d\n", number); // 入力された数字を表示
    return 0;
}

このコードでは、%dが再び使用され、number変数の値が表示されます。

完成したプログラム

以下に、入力された数字をそのまま画面に表示するプログラムの完成形を示します。

#include <stdio.h>
int main() {
    int number; // ユーザーから入力される数字を格納する変数
    printf("数字を入力してください: ");
    scanf("%d", &number);
    printf("入力された数字は: %d\n", number); // 入力された数字を表示
    return 0;
}
数字を入力してください: 42
入力された数字は: 42

このプログラムは、ユーザーが入力した数字をそのまま画面に表示します。

scanf関数で入力を受け取り、printf関数で出力するという基本的な入出力操作を理解するのに役立ちます。

応用例

ここでは、基本的な入力と出力の操作を応用して、より複雑なプログラムを作成する方法を紹介します。

複数の数字を入力して表示する

複数の数字を入力し、それらを順番に表示するプログラムを作成します。

ここでは、配列を使用して複数の数字を格納します。

#include <stdio.h>
int main() {
    int numbers[5]; // 5つの数字を格納する配列
    int i;
    printf("5つの数字を入力してください:\n");
    for (i = 0; i < 5; i++) {
        printf("%d番目の数字: ", i + 1);
        scanf("%d", &numbers[i]); // 各数字を配列に格納
    }
    printf("入力された数字は次の通りです:\n");
    for (i = 0; i < 5; i++) {
        printf("%d ", numbers[i]); // 配列の各要素を表示
    }
    printf("\n");
    return 0;
}
5つの数字を入力してください:
1番目の数字: 10
2番目の数字: 20
3番目の数字: 30
4番目の数字: 40
5番目の数字: 50
入力された数字は次の通りです:
10 20 30 40 50

このプログラムでは、ユーザーが入力した5つの数字を配列に格納し、それらを順番に表示します。

入力された数字の合計を表示する

次に、入力された数字の合計を計算して表示するプログラムを作成します。

#include <stdio.h>
int main() {
    int numbers[5];
    int i, sum = 0; // 合計を格納する変数
    printf("5つの数字を入力してください:\n");
    for (i = 0; i < 5; i++) {
        printf("%d番目の数字: ", i + 1);
        scanf("%d", &numbers[i]);
        sum += numbers[i]; // 各数字を合計に加算
    }
    printf("入力された数字の合計は: %d\n", sum);
    return 0;
}
5つの数字を入力してください:
1番目の数字: 10
2番目の数字: 20
3番目の数字: 30
4番目の数字: 40
5番目の数字: 50
入力された数字の合計は: 150

このプログラムは、入力された5つの数字を合計し、その結果を表示します。

入力された数字を逆順に表示する

最後に、入力された数字を逆順に表示するプログラムを作成します。

#include <stdio.h>
int main() {
    int numbers[5];
    int i;
    printf("5つの数字を入力してください:\n");
    for (i = 0; i < 5; i++) {
        printf("%d番目の数字: ", i + 1);
        scanf("%d", &numbers[i]);
    }
    printf("入力された数字を逆順に表示します:\n");
    for (i = 4; i >= 0; i--) {
        printf("%d ", numbers[i]); // 配列の要素を逆順に表示
    }
    printf("\n");
    return 0;
}
5つの数字を入力してください:
1番目の数字: 10
2番目の数字: 20
3番目の数字: 30
4番目の数字: 40
5番目の数字: 50
入力された数字を逆順に表示します:
50 40 30 20 10

このプログラムは、ユーザーが入力した数字を逆順に表示します。

配列のインデックスを逆にたどることで実現しています。

よくある質問

scanf関数で入力がうまくいかないのはなぜ?

scanf関数で入力がうまくいかない場合、いくつかの原因が考えられます。

  • フォーマット指定子が間違っている:例えば、整数を読み取るのに%dを使用せず、%fなどを使っていると正しく動作しません。
  • 変数のアドレスを渡していない:scanf関数は変数のアドレスを必要とします。

例:scanf("%d", &number);

  • 入力バッファに残った改行文字:前の入力で改行が残っていると、次の入力に影響を与えることがあります。

printf関数で表示が崩れるのはどうして?

printf関数で表示が崩れる原因としては、以下の点が考えられます。

  • フォーマット指定子と引数の型が一致していない:例えば、%dで整数を表示するのに、浮動小数点数を渡していると表示が崩れます。
  • 改行が不足している:表示が連続している場合、適切に改行を入れないと見づらくなります。

例:printf("Hello\n");

  • 出力の幅が狭い:特に表形式で出力する場合、幅を指定しないと表示が崩れることがあります。

入力した数字を整数以外で扱うにはどうすればいい?

入力した数字を整数以外で扱うには、適切なデータ型とフォーマット指定子を使用します。

  • 浮動小数点数として扱う場合:floatまたはdouble型を使用し、scanfでは%fまたは%lfを使用します。

例:scanf("%f", &floatNumber);

  • 文字列として扱う場合:char配列を使用し、scanfでは%sを使用します。

例:scanf("%s", string);

まとめ

C言語での基本的な入出力操作を理解することは、プログラミングの基礎を築く重要なステップです。

この記事では、ユーザーからの入力を受け取り、それを画面に表示する方法を学びました。

さらに、応用例を通じて、複数の数字を扱う方法や合計を計算する方法、逆順に表示する方法を紹介しました。

これらの知識を活用して、より複雑なプログラムに挑戦してみてください。

  • URLをコピーしました!
目次から探す