Определение объема сферы на языке C

CCBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии (LabEx) вы научитесь определять объем сферы с использованием языка программирования C. Лабораторная работа состоит из двух основных этапов: чтение радиуса сферы и затем вычисление объема по формуле V = (4.0/3.0) _ π _ r³. Вы создадите простую программу, которая попросит пользователя ввести радиус, вычислит объем и отобразит результат. К концу этого лабораторного занятия вы лучше поймете геометрические вычисления и как реализовать их на языке C.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/constants("Constants") c/FunctionsGroup -.-> c/math_functions("Math Functions") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-435173{{"Определение объема сферы на языке C"}} c/constants -.-> lab-435173{{"Определение объема сферы на языке C"}} c/math_functions -.-> lab-435173{{"Определение объема сферы на языке C"}} c/user_input -.-> lab-435173{{"Определение объема сферы на языке C"}} c/output -.-> lab-435173{{"Определение объема сферы на языке C"}} end

Чтение радиуса

На этом этапе вы научитесь считывать радиус сферы с использованием языка программирования C. Мы создадим простую программу, которая попросит пользователя ввести радиус и сохранит его в переменной.

Сначала создадим новый файл на языке C в каталоге ~/project:

cd ~/project
nano sphere_volume.c

Теперь напишем код для считывания радиуса:

#include <stdio.h>

int main() {
    // Declare a variable to store the radius
    double radius;

    // Prompt the user to enter the radius
    printf("Enter the radius of the sphere: ");

    // Read the radius from user input
    scanf("%lf", &radius);

    // Print the entered radius to confirm
    printf("Radius entered: %.2f\n", radius);

    return 0;
}

Пример вывода:

Enter the radius of the sphere: 5.5
Radius entered: 5.50

Разберем код:

  • double radius; объявляет переменную для хранения радиуса в виде числа с плавающей запятой
  • printf() выводит приглашение для пользователя ввести радиус
  • scanf() считывает ввод пользователя и сохраняет его в переменной radius
  • %.2f форматирует вывод так, чтобы отображалось два знака после запятой

Скомпилируем программу:

gcc sphere_volume.c -o sphere_volume

Пример вывода:

labex@ubuntu:~/project$ gcc sphere_volume.c -o sphere_volume

Теперь можно запустить программу:

./sphere_volume

Вычисление объема по формуле V = (4.0/3.0)PI

На этом этапе вы научитесь вычислять объем сферы с использованием математической формулы V = (4.0/3.0) _ π _ r³. Мы модифицируем предыдущую программу, чтобы включить вычисление объема.

Откройте существующий файл и обновите код:

cd ~/project
nano sphere_volume.c

Замените предыдущий код следующим:

#include <stdio.h>
#include <math.h>

int main() {
    // Declare variables
    double radius, volume;

    // Constant for PI
    const double PI = 3.14159265358979323846;

    // Prompt the user to enter the radius
    printf("Enter the radius of the sphere: ");

    // Read the radius from user input
    scanf("%lf", &radius);

    // Calculate the volume using the sphere volume formula
    volume = (4.0 / 3.0) * PI * pow(radius, 3);

    // Print the radius and calculated volume
    printf("Radius: %.2f\n", radius);
    printf("Volume of the sphere: %.2f\n", volume);

    return 0;
}

Скомпилируйте обновленную программу:

gcc sphere_volume.c -o sphere_volume -lm

Пример вывода:

labex@ubuntu:~/project$ gcc sphere_volume.c -o sphere_volume -lm

Обратите внимание на флаг -lm, который связывает математическую библиотеку, необходимую для функции pow().

Запустите программу:

./sphere_volume

Пример вывода:

Enter the radius of the sphere: 5.5
Radius: 5.50
Volume of the sphere: 696.46

Разберем основные изменения:

  • Добавили #include <math.h> для использования функции pow()
  • Определили константу PI для вычислений
  • Использовали формулу volume = (4.0 / 3.0) * PI * pow(radius, 3)
  • pow(radius, 3) вычисляет r³
  • Вывели как радиус, так и вычисленный объем

Вывод объема

На этом последнем этапе мы улучшим форматирование вывода, чтобы вычисление объема было более презентабельным и удобным для пользователя.

Откройте существующий файл:

cd ~/project
nano sphere_volume.c

Обновите код с улучшенным форматированием:

#include <stdio.h>
#include <math.h>

int main() {
    // Declare variables
    double radius, volume;

    // Constant for PI
    const double PI = 3.14159265358979323846;

    // Prompt the user to enter the radius
    printf("Sphere Volume Calculator\n");
    printf("------------------------\n");
    printf("Enter the radius of the sphere: ");

    // Read the radius from user input
    scanf("%lf", &radius);

    // Calculate the volume using the sphere volume formula
    volume = (4.0 / 3.0) * PI * pow(radius, 3);

    // Print formatted output
    printf("\nCalculation Results:\n");
    printf("-------------------\n");
    printf("Radius:        %.2f units\n", radius);
    printf("Volume:        %.2f cubic units\n", volume);

    // Additional descriptive output
    printf("\nNote: Volume is calculated using the formula V = (4/3) * π * r³\n");

    return 0;
}

Скомпилируйте программу:

gcc sphere_volume.c -o sphere_volume -lm

Пример вывода при запуске программы:

Sphere Volume Calculator
------------------------
Enter the radius of the sphere: 5.5

Calculation Results:
-------------------
Radius:        5.50 units
Volume:        696.46 cubic units

Note: Volume is calculated using the formula V = (4/3) * π * r³

Основные улучшения:

  • Добавлены описательные заголовки
  • Отформатирован вывод с указанием единиц измерения
  • Включено примечание о формуле вычисления
  • Улучшена читаемость результатов

Запустите программу для проверки:

./sphere_volume

Резюме

В этом лабораторном занятии (LabEx) вы научитесь считывать радиус сферы из ввода пользователя и вычислять ее объем по формуле V = (4.0/3.0) _ π _ r³. Сначала вы объявите переменную для хранения радиуса и попросите пользователя ввести значение. Затем вы вычислите объем сферы, используя математическую формулу и постоянное значение π. Наконец, вы выведете вычисленный объем на консоль.