C 言語で円柱の表面積を計算する

CBeginner
オンラインで実践に進む

はじめに

この実験では、C 言語を使用して円柱の表面積を計算する方法を学びます。この実験では、ユーザーから円柱の半径と高さを読み取り、次に公式 2PIr*(r+h) を使用して表面積を計算する手順をカバーします。その後、プログラムは計算された表面積を出力します。

この実験では、円柱の表面積を計算するプロセスを理解するのに役立つ、必要な C コードを含む完全なステップバイステップガイドが提供されます。この実験の終わりまでに、C 言語を使用して幾何学的な計算を行う方法をしっかりと理解することができるようになります。

半径と高さを読み取る

このステップでは、C 言語を使用して円柱の半径と高さを読み取る方法を学びます。ユーザーにこれらの値の入力を促す簡単なプログラムを作成します。

まず、プロジェクトディレクトリに新しい C ファイルを作成しましょう。

cd ~/project
nano cylinder_surface_area.c

次に、以下のコードをファイルに追加します。

#include <stdio.h>

int main() {
    float radius, height;

    // Prompt user to enter radius
    printf("Enter the radius of the cylinder: ");
    scanf("%f", &radius);

    // Prompt user to enter height
    printf("Enter the height of the cylinder: ");
    scanf("%f", &height);

    // Print the entered values
    printf("Radius: %.2f\n", radius);
    printf("Height: %.2f\n", height);

    return 0;
}

コードを分解してみましょう。

  • printf() を使用して、半径と高さの入力を促すメッセージを表示します。
  • scanf() を使用して、半径と高さの浮動小数点数値を読み取ります。
  • %.2f は、出力を小数点以下 2 桁で表示するようにフォーマットします。

プログラムをコンパイルして実行します。

gcc cylinder_surface_area.c -o cylinder_surface_area
./cylinder_surface_area

出力例:

Enter the radius of the cylinder: 5
Enter the height of the cylinder: 10
Radius: 5.00
Height: 10.00

表面積 = 2PIr*(r+h) を計算する

このステップでは、前のプログラムを修正して、公式「表面積 = 2PIr*(r+h)」を使用して円柱の表面積を計算します。

既存のファイルを開き、コードを更新します。

cd ~/project
nano cylinder_surface_area.c

前のコードを以下のコードに置き換えます。

#include <stdio.h>
#define PI 3.14159

int main() {
    float radius, height, surface_area;

    // Prompt user to enter radius
    printf("Enter the radius of the cylinder: ");
    scanf("%f", &radius);

    // Prompt user to enter height
    printf("Enter the height of the cylinder: ");
    scanf("%f", &height);

    // Calculate surface area
    surface_area = 2 * PI * radius * (radius + height);

    // Print the results
    printf("Radius: %.2f\n", radius);
    printf("Height: %.2f\n", height);
    printf("Surface Area: %.2f\n", surface_area);

    return 0;
}

変更点を分解してみましょう。

  • #define PI 3.14159 を追加して、π の定数を定義します。
  • 計算結果を格納するための surface_area 変数を作成します。
  • 公式「表面積 = 2PIr*(r+h)」を使用します。
  • 計算された表面積を表示するための出力文を追加します。

プログラムをコンパイルして実行します。

gcc cylinder_surface_area.c -o cylinder_surface_area
./cylinder_surface_area

出力例:

Enter the radius of the cylinder: 5
Enter the height of the cylinder: 10
Radius: 5.00
Height: 10.00
Surface Area: 628.32

表面積を出力する

この最後のステップでは、プログラムを改良して、円柱の表面積をより使いやすい形式で出力します。

既存のファイルを開き、最後の修正を行います。

cd ~/project
nano cylinder_surface_area.c

出力を整形したコードに更新します。

#include <stdio.h>
#define PI 3.14159

int main() {
    float radius, height, surface_area;

    // Prompt user to enter radius
    printf("Cylinder Surface Area Calculator\n");
    printf("--------------------------------\n");
    printf("Enter the radius of the cylinder: ");
    scanf("%f", &radius);

    // Prompt user to enter height
    printf("Enter the height of the cylinder: ");
    scanf("%f", &height);

    // Calculate surface area
    surface_area = 2 * PI * radius * (radius + height);

    // Print formatted results
    printf("\nCalculation Results:\n");
    printf("--------------------------------\n");
    printf("Radius:        %.2f units\n", radius);
    printf("Height:        %.2f units\n", height);
    printf("Surface Area:  %.2f square units\n", surface_area);

    return 0;
}

プログラムをコンパイルして実行します。

gcc cylinder_surface_area.c -o cylinder_surface_area
./cylinder_surface_area

出力例:

Cylinder Surface Area Calculator
--------------------------------
Enter the radius of the cylinder: 5
Enter the height of the cylinder: 10

Calculation Results:
--------------------------------
Radius:        5.00 units
Height:        10.00 units
Surface Area:  628.32 square units

主な改良点:

  • 計算機のタイトルを追加しました。
  • 読みやすさを向上させるために区切り線を追加しました。
  • 出力に単位を追加しました。
  • 結果を明確なラベル付きで整形しました。

まとめ

この実験では、C 言語を使用して円柱の半径と高さを読み取り、次に公式「表面積 = 2PIr*(r+h)」を使用して円柱の表面積を計算する方法を学びました。プログラムはユーザーに半径と高さの入力を促し、その後表面積を計算して表示します。

この実験でカバーされた主要なステップは、1) ユーザーから半径と高さを読み取ること、および 2) 提供された公式を使用して表面積を計算することです。