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

【C言語入門】センチメートルをメートル・キロメートルに変換するプログラムの作り方

この記事では、ユーザーが入力した長さをセンチメートル(cm)からメートル(m)やキロメートル(km)へ変換するC言語プログラムを紹介します。単位変換はC言語の基礎を学ぶうえで定番の課題であり、変数の宣言・入力・計算・出力の一連の流れを理解するのに最適です。

単位の換算式

まず、センチメートルと他の単位の関係を確認しておきましょう。

1メートル = 100センチメートル
1キロメートル = 100000センチメートル

つまり、センチメートルの値を100で割ればメートルに、100000で割ればキロメートルに変換できます。

アルゴリズム

センチメートルをメートルおよびキロメートルに変換するための手順は以下のとおりです。

ステップ1: 変数を宣言する。
ステップ2: 実行時にcm単位の長さを入力する。
ステップ3: 次の式を使ってメートルを計算する。
    meter = centim / 100.0;
ステップ4: 次の式を使ってキロメートルを計算する。
    kilometer = centim / 100000.0;
ステップ5: メートルの値を出力する。
ステップ6: キロメートルの値を出力する。

例1: センチメートルからメートル・キロメートルへの変換

以下は、センチメートルをメートルとキロメートルに変換するCプログラムです。

#include <stdio.h>
int main(){
    float centim, meter, kilometer;
    printf("enter length in cm:\n ");
    scanf("%f", &centim);
    meter = centim / 100.0;
    kilometer = centim / 100000.0;
    printf("length in mtrs = %.4f\n", meter);
    printf("length in km = %.4f", kilometer);
    return 0;
}

実行結果

上記のプログラムを実行すると、次のような結果が出力されます(入力が空の場合の例)。

enter length in cm:
length in mtrs = 0.0000
length in km = 0.0000

たとえば「250」と入力した場合、「length in mtrs = 2.5000」「length in km = 0.0025」と表示されます。%.4f を指定することで、小数点以下4桁まで表示される点にも注目してください。

例2: メートルからセンチメートル・キロメートルへの変換

続いて、メートルをセンチメートルとキロメートルに変換するCプログラムを紹介します。

#include <stdio.h>
int main(){
    float centim, meter, kilometer;
    printf("enter length in meter:\n ");
    scanf("%f", &meter);
    centim = meter*100.0;
    kilometer = meter / 1000.0;
    printf("length in cm = %.4f\n", centim);
    printf("length in km = %.4f", kilometer);
    return 0;
}

実行結果

上記のプログラムを実行すると、次のような結果が出力されます。

enter length in meter:
length in cm = 0.0000
length in km = 0.0000

たとえば「1.5」と入力すれば、「length in cm = 150.0000」「length in km = 0.0015」となります。

ポイント解説

  • 割る数に「.0」を付ける理由: 100ではなく100.0と書くことで浮動小数点数として計算され、小数点以下が切り捨てられるのを防げます。
  • float型の使用: 長さの値は小数になる可能性があるため、int型ではなくfloat型を使用します。より高い精度が必要な場合はdouble型も検討しましょう。
  • scanfでの入力: 変数のアドレスを渡すために「&」を忘れないようにしましょう。

このように、単位変換プログラムは掛け算・割り算という基本的な演算だけで実装できるため、C言語初心者が入出力と四則演算を練習するのにぴったりの題材です。ぜひ自分でもコードを打ち込んで、さまざまな値で試してみてください。

  1. Pythonでセット(set)とタプル(tuple)を相互変換するプログラム

    セット(set)構造をタプル(tuple)に変換したい場合、またその逆にタプルをセットに変換したい場合は、Pythonの組み込み関数である tuple() と set() を使用することで簡単に実現できます。以下に、実際の動作を確認できるサンプルコードを示します。サンプルコードmy_set = {ab, cd, ef, g, h, s, v} print(The type is : ) print(type(my_set), , my_set) print(Converting a set into a tuple) my_tuple = tuple(my_set) print(The ty

  2. 【Python入門】秒を「時:分:秒」形式に変換する3つの方法

    はじめに この記事では、「与えられた秒数を時・分・秒の形式に変換する」という問題に対する解決策を、3つの異なるアプローチとともに分かりやすく解説します。プログラムで経過時間やタイマーを扱う際によく使われる処理なので、ぜひ参考にしてください。 アプローチ1: 算術演算による力任せの方法(ブルートフォース) 剰余演算子(%)と整数除算演算子(//)を組み合わせることで、24時間以内の秒数から時・分・秒をそれぞれ求めることができます。ロジックがシンプルで、標準モジュールに依存しないのが特徴です。 コード例 def convert(seconds): seconds = seconds %