Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語で数値の範囲(レンジ)を出力する方法をわかりやすく解説

問題

与えられた数値に対して、その数値がどの範囲(レンジ)に属するのかを求めるプログラムを作成します。

解決策

ここでは、C言語を使って数値の範囲を求める方法を学びます。

範囲を求めるために使うロジックは以下の通りです。

lower = (n/10) * 10; /* 算術演算子は左から右へ順に処理される */
upper = lower + 10;

ポイントは、int型同士の除算では小数点以下が切り捨てられ、商(整数部分)だけが返されるというC言語の仕様を利用している点です。これにより、一の位を切り捨てた数値(10の倍数)を簡単に求められます。

解説

例として、数値 n = 45 の場合を考えてみましょう。

lower = (45 / 10) * 10 // 整数除算では商が返される

   = 4 * 10 = 40

upper = 40 + 10 = 50

したがって、求める範囲は lower ~ upper、つまり 40 ~ 50 となります。

サンプルプログラム

以下は、数値の範囲を出力するC言語プログラムです。

#include<stdio.h>
main(){
    int n, lower, upper;
    printf("Enter a number:");
    scanf("%d", &n);
    lower = (n/10) * 10; /* 算術演算子は左から右へ順に処理される */
    upper = lower + 10;
    printf("Range is %d - %d", lower, upper);
    getch();
}

実行結果

上記のプログラムを実行すると、以下のような結果が表示されます。

Enter a number:25
Range is 20 – 30

次に、変数名を変えたもう一つのバージョンのプログラムを紹介します。ロジックはまったく同じで、読みやすさを意識した命名になっています。

#include<stdio.h>
main(){
    int number, start, end;
    printf("Enter a number:");
    scanf("%d", &number);
    start = (number/10) * 10; /* 算術演算子は左から右へ順に処理される */
    end = start + 10;
    printf("Range is %d - %d", start, end);
    getch();
}

実行結果

上記のプログラムを実行すると、以下のような結果が表示されます。

Enter a number:457
Range is 450 – 460

補足

サンプルコード内の getch() はTurbo Cなど古い環境向けの関数です。GCCなどの現代的なコンパイラを使用する場合は、getch() の行を削除するか、conio.h の代わりに標準の入出力関数を利用してください。また、負の数を入力した場合の挙動(切り捨ての方向)は処理系によって異なる場合があるため、実務では注意が必要です。


  1. Pythonで画面に出力するには?print文の基本と使い方を解説

    Pythonで画面(標準出力)に文字や値を表示する最も基本的な方法は、print文を使うことです。>>> print Hello, world Hello, worldカンマ区切りで複数の項目を出力する同じ行に複数の項目をスペースで区切って表示したい場合は、項目の間をカンマで区切ります。>>> print Hello,, World Hello, Worldこの例では、どちらの文字列にもスペースは含まれていませんが、2つのオブジェクトの間にあるカンマによって、print文が自動的にスペースを挿入してくれます。さまざまなデータ型の出力print文は文字列だけで

  2. ExcelのROUND関数で数値を丸める方法|四捨五入をわかりやすく解説

    Excelで資料を見やすく整えたいとき、数値を小数点以下や整数単位で丸めると、ぐっと読みやすくなります。数値を丸めるということは、重要度の低い桁を取り除くことを意味します。その結果、必要な精度を保ちながら、より見栄えの良い値に仕上げることができます。 丸め処理は、概算を示したり、数値を扱いやすくしたりする目的でよく使われます。たとえば、割引率を計算して「17.3587563」という数値が出た場合、小数第1位で丸めれば「17.4%」となり、はるかに見やすくなります。この記事では、ROUND関数を使って数値を丸める方法を詳しくご紹介します。 ExcelのROUND関数とは ROUND関数は、Ex