C 를 이용한 빗변 계산

CBeginner
지금 연습하기

소개

이 실습에서는 C 프로그래밍을 사용하여 직각 삼각형의 빗변을 계산하는 방법을 배웁니다. 이 실습에서는 두 직각 변의 길이를 읽고 피타고라스 정리를 사용하여 빗변을 계산하는 단계별 과정을 다룹니다. 이 실습을 마치면 C 에서 삼각 함수 계산을 수행하는 방법에 대한 확실한 이해를 얻게 될 것입니다.

이 실습은 직각 삼각형의 두 직각 변의 길이를 읽는 과정을 안내합니다. 그런 다음 빗변의 제곱은 다른 두 변의 제곱의 합과 같다는 피타고라스 정리를 사용하여 빗변을 계산합니다. 마지막으로 계산된 빗변을 출력하는 방법을 배웁니다.

직각 삼각형의 두 변 읽기

이 단계에서는 C 프로그램에서 직각 삼각형의 두 변을 읽는 방법을 배웁니다. 삼각형의 두 변의 길이에 대한 사용자 입력을 받는 간단한 프로그램을 만들어 보겠습니다.

먼저 프로젝트 디렉토리로 이동하여 새로운 C 파일을 만듭니다.

cd ~/project
nano hypotenuse.c

이제 다음 코드를 추가하여 직각 삼각형의 두 변을 읽습니다.

#include <stdio.h>

int main() {
    float leg1, leg2;

    printf("Enter the length of the first leg: ");
    scanf("%f", &leg1);

    printf("Enter the length of the second leg: ");
    scanf("%f", &leg2);

    printf("First leg: %.2f\n", leg1);
    printf("Second leg: %.2f\n", leg2);

    return 0;
}

코드를 자세히 살펴보겠습니다.

  • 소수점을 가질 수 있는 변의 길이를 위해 float를 사용합니다.
  • printf()는 사용자에게 입력을 요청하는 데 사용됩니다.
  • scanf()는 사용자의 입력을 읽고 변수 leg1leg2에 저장합니다.
  • 그런 다음 입력된 변의 길이를 출력하여 입력을 확인합니다.

프로그램을 컴파일합니다.

gcc hypotenuse.c -o hypotenuse

프로그램 실행 시 예상 출력:

Enter the length of the first leg: 3
Enter the length of the second leg: 4
First leg: 3.00
Second leg: 4.00

피타고라스 정리 c = √(a² + b²) 사용

이 단계에서는 피타고라스 정리를 사용하여 빗변을 계산하도록 이전 프로그램을 수정합니다. 제곱근을 계산하기 위해 math 라이브러리의 sqrt() 함수를 사용합니다.

기존 파일을 열고 코드를 업데이트합니다.

cd ~/project
nano hypotenuse.c

이전 코드를 다음 구현으로 바꿉니다.

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

int main() {
    float leg1, leg2, hypotenuse;

    printf("Enter the length of the first leg: ");
    scanf("%f", &leg1);

    printf("Enter the length of the second leg: ");
    scanf("%f", &leg2);

    // 피타고라스 정리를 사용하여 빗변 계산
    hypotenuse = sqrt(leg1 * leg1 + leg2 * leg2);

    printf("First leg: %.2f\n", leg1);
    printf("Second leg: %.2f\n", leg2);
    printf("Hypotenuse: %.2f\n", hypotenuse);

    return 0;
}

수학 라이브러리와 함께 프로그램을 컴파일합니다.

gcc hypotenuse.c -o hypotenuse -lm

프로그램 실행 시 예상 출력:

Enter the length of the first leg: 3
Enter the length of the second leg: 4
First leg: 3.00
Second leg: 4.00
Hypotenuse: 5.00

코드에 대한 주요 내용:

  • #include <math.h>sqrt() 함수를 위한 수학 라이브러리를 추가합니다.
  • sqrt(leg1 * leg1 + leg2 * leg2)는 빗변을 계산합니다.
  • 컴파일 시 -lm 플래그는 수학 라이브러리를 연결하는 데 사용됩니다.

빗변 출력

이 단계에서는 이전 프로그램을 개선하여 빗변 계산 결과를 더욱 정형화되고 사용자 친화적인 형태로 출력합니다.

기존 파일을 열고 코드를 업데이트합니다.

cd ~/project
nano hypotenuse.c

출력 형식을 개선하기 위해 코드를 수정합니다.

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

int main() {
    float leg1, leg2, hypotenuse;

    printf("직각 삼각형 빗변 계산기\n");
    printf("------------------------\n");

    printf("첫 번째 변의 길이를 입력하세요: ");
    scanf("%f", &leg1);

    printf("두 번째 변의 길이를 입력하세요: ");
    scanf("%f", &leg2);

    // 피타고라스 정리를 사용하여 빗변 계산
    hypotenuse = sqrt(leg1 * leg1 + leg2 * leg2);

    // 정형화된 결과 출력
    printf("\n삼각형 측정값:\n");
    printf("첫 번째 변:   %.2f\n", leg1);
    printf("두 번째 변:  %.2f\n", leg2);
    printf("빗변:  %.2f\n", hypotenuse);

    // 추가 계산 세부 정보
    printf("\n계산 세부 정보:\n");
    printf("수식: c = √(a² + b²)\n");
    printf("        = √(%.2f² + %.2f²)\n", leg1, leg2);
    printf("        = √(%.2f + %.2f)\n", leg1 * leg1, leg2 * leg2);
    printf("        = %.2f\n", hypotenuse);

    return 0;
}

프로그램을 컴파일합니다.

gcc hypotenuse.c -o hypotenuse -lm

프로그램을 실행하고 자세한 출력을 확인합니다.

./hypotenuse

예시 출력:

직각 삼각형 빗변 계산기
------------------------
첫 번째 변의 길이를 입력하세요: 3
두 번째 변의 길이를 입력하세요: 4

삼각형 측정값:
첫 번째 변:   3.00
두 번째 변:  4.00
빗변:  5.00

계산 세부 정보:
수식: c = √(a² + b²)
        = √(3.00² + 4.00²)
        = √(9.00 + 16.00)
        = 5.00

주요 개선 사항:

  • 설명적인 헤더 추가
  • 정렬된 열로 출력 형식 개선
  • 단계별 계산 세부 정보 포함
  • 사용자의 가독성 향상

요약

이 실험에서 처음으로 C 프로그램에서 사용자에게 입력을 요청하고 변수에 값을 저장하여 직각 삼각형의 두 변을 읽는 방법을 배웠습니다. 그런 다음 빗변의 제곱은 다른 두 변의 제곱의 합과 같다는 피타고라스 정리를 사용하여 빗변을 계산했습니다. 프로그램은 제곱근을 계산하고 빗변의 길이를 결정하기 위해 math 라이브러리의 sqrt() 함수를 활용합니다.