C_C++

(C언어) 삼각형의 종류 판단하기: 직각, 둔각, 예각 삼각형

고니자니 2023. 12. 14. 20:24
반응형

C 언어를 이용하여 세 개의 정수를 이용하여 직각 삼각형, 둔각 삼각형, 예각 삼각형을 판단하는 프로그램입니다.

세 변의 길이를 입력 받아 이 삼각형들 중 어떤 형태인지를 판단하는 것입니다.

피타고라스의 정리를 사용하여 직각 삼각형을 판단하고, 세 변의 길이를 비교하여 둔각과 예각 삼각형을 구분합니다.

무한 루프를 돌며, 입력 값이 모두 0이면 프로그램을 종료합니다.

  • 세 변의 길이를 이용해서 판단하기
  • 세 각의 각도를 이용해서 판단하기

1. 세 변의 길이를 이용해서 판단하기

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() 
{
    int a, b, c;

    while (1)
    {
        // 사용자로부터 세 변의 길이를 입력 받음
        printf("세 변의 길이를 입력하세요: ");
        scanf("%d %d %d", &a, &b, &c);
        if (a == 0 && b == 0 && c == 0)
            break;

        // 삼각형의 세 변의 길이를 기반으로 판단
        if (a + b > c && a + c > b && b + c > a) {
            // 세 변의 길이가 삼각형의 조건을 만족하는 경우
            if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) {
                printf("입력한 삼각형은 직각 삼각형입니다.\n");
            }
            else if (a * a + b * b < c * c || a * a + c * c < b * b || b * b + c * c < a * a) {
                printf("입력한 삼각형은 둔각 삼각형입니다.\n");
            }
            else {
                printf("입력한 삼각형은 예각 삼각형입니다.\n");
            }
        }
        else {
            // 세 변의 길이가 삼각형의 조건을 만족하지 않는 경우
            printf("입력한 변으로 삼각형을 만들 수 없습니다.\n");
        }
    }

    return 0;
}

(Output)

세 변의 길이를 입력하세요: 100 20 30
입력한 변으로 삼각형을 만들 수 없습니다.
세 변의 길이를 입력하세요: 100 50 50
입력한 변으로 삼각형을 만들 수 없습니다.
세 변의 길이를 입력하세요: 100 60 70
입력한 삼각형은 둔각 삼각형입니다.
세 변의 길이를 입력하세요: 3 4 5
입력한 삼각형은 직각 삼각형입니다.
세 변의 길이를 입력하세요: 0 0 0

(C언어) 삼각형의 종류 판단하기: 직각, 둔각, 예각 삼각형

 

 

2. 세 각의 각도를 이용해서 판단하기

아래는 세 각의 각도를 이용해서 직각, 둔각, 예각 삼각형의 종류를 판단하는 코드입니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() 
{
    int angle1, angle2, angle3;

    while (1)
    {
        // 사용자로부터 세 각도를 입력 받음
        printf("세 각도를 입력하세요: ");
        scanf("%d %d %d", &angle1, &angle2, &angle3);
        if (angle1 == 0 && angle2 == 0 && angle2 == 0)
            break;

        // 세 각도의 합이 180도인지 확인하여 삼각형 유형 판단
        if (angle1 + angle2 + angle3 == 180)
        {
            if (angle1 == 0 || angle2 == 0 || angle3 == 0)
            {
                printf("입력한 각도로 삼각형을 만들 수 없습니다.\n");
            }
            else  if (angle1 == 90 || angle2 == 90 || angle3 == 90)
            {
                printf("입력한 삼각형은 직각 삼각형입니다.\n");
            }
            else if (angle1 > 90 || angle2 > 90 || angle3 > 90)
            {
                printf("입력한 삼각형은 둔각 삼각형입니다.\n");
            }
            else {
                printf("입력한 삼각형은 예각 삼각형입니다.\n");
            }
        }
        else
        {
            printf("입력한 각도로 삼각형을 만들 수 없습니다.\n");
        }
    }
    return 0;
}

(C언어) 삼각형의 종류 판단하기: 직각, 둔각, 예각 삼각형

반응형