Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그래밍으로 육각기둥의 표면적과 부피 계산하기

도형의 표면적(Surface Area)이란 해당 도형의 표면이 덮는 전체 면적을 의미합니다.

육각기둥(Hexagonal Prism)은 양쪽 끝면이 정육각형인 입체 도형으로, 수학적으로는 8개의 면, 18개의 모서리, 12개의 꼭짓점을 가진 3차원 도형으로 정의됩니다.

C 프로그래밍으로 육각기둥의 표면적과 부피 계산하기

계산 공식

한 변의 길이가 a, 높이가 h인 정육각기둥의 표면적과 부피는 다음 공식으로 구할 수 있습니다.

표면적 = 6ah + 3√3 × a²
부피 = (3√3 / 2) × a² × h
  • 옆면적: 6개의 직사각형 옆면 → 6ah
  • 밑면·윗면적: 두 개의 정육각형 → 2 × (3√3/2)a² = 3√3a²

C 언어 구현 예제

다음은 C 프로그래밍으로 육각기둥의 표면적과 부피를 계산하는 코드입니다.

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

int main() {
    float a = 5, h = 10;

    // 육각기둥의 표면적 계산 로직
    float Area;
    Area = 6 * a * h + 3 * sqrt(3) * a * a;
    printf("Surface Area: %f\n", Area);

    // 육각기둥의 부피 계산 로직
    float Volume;
    Volume = 3 * sqrt(3) * a * a * h / 2;
    printf("Volume: %f\n", Volume);

    return 0;
}

실행 결과

Surface Area: 429.903809
Volume: 649.519043

코드 설명

위 예제에서는 한 변의 길이 a = 5, 높이 h = 10으로 설정했습니다.

  • 표면적: 6 * a * h(옆면적)에 3 * sqrt(3) * a * a(양 밑면의 넓이)를 더해 계산하며, 결과는 약 429.90입니다.
  • 부피: 3 * sqrt(3) / 2에 밑변의 제곱과 높이를 곱해 계산하며, 결과는 약 649.52입니다.

sqrt(3) 함수를 사용하기 위해 <math.h> 헤더 파일을 포함시켜야 하며, 컴파일 시 일부 환경에서는 -lm 옵션을 추가해야 할 수 있습니다.