[C언어 코드업 문제풀이] CodeUp 1218 : 삼각형 판단하기

코드업 1218번 삼각형 판단하기 문제 풀이 해답입니다.

 

1. 문제 설명

 

삼각형의 3변의 길이 a, b, c가 입력으로 주어진다.

여기서 입력되는 변의 관계는 a ≤ b ≤ c 이다. 

그 삼각형이 무슨 삼각형인지 출력하시오.

 

2. 입력

 

변의 길이 a, b, c가 입력된다. ( 정수)

 

3. 출력

 

조건에 따라 삼각형을 출력한다.

조건)

세 변의 길이가 같은 경우 : 정삼각형

두 변의 길이가 같은 경우 : 이등변삼각형

a^2 + b^2 = c^2일 경우(피타고라스 정리) : 직각삼각형

위의 조건에 맞지 않는 일반 삼각형일 경우 : 삼각형

삼각형이 아닐 경우 : 삼각형아님

을 출력한다.

 

4. 입력 예시

 

3 3 3

 

5. 출력 예시

 

정삼각형

 

6. 문제 풀이

 

#include <stdio.h>
#include "math.h"
 
int main (void)
{
    
    int num1, num2 ,num3,temp;
    scanf("%d %d %d",&num1, &num2, &num3);
    
    if(num1 >= num2){
        temp = num2;
        num2 = num1;
        num1 = temp;
    }
    if(num2 >= num3){
        temp = num3;
        num3 = num2;
        num2 = temp;
    }
    if(num1 >= num2){
        temp = num2;
        num2 = num1;
        num1 = temp;
    }
    
    if(num3< num1 + num2){
        if(num1 == num2 && num2 == num3){printf("정삼각형");}
        else if(num1 == num2 || num2 == num3 || num3 == num1 ){printf("이등변삼각형");}
        else if(pow(num3,2== pow(num1,2)+pow(num2,2)){printf("직각삼각형");}
        else{printf("삼각형");}
    }
    else{printf("삼각형아님");}
    
    return 0;
}
 
 

 

조건의 순서가 중요합니다. 먼저 3변이 같은경우 정사각형의 조건을 판별하도록 했는데

만약 이등변 삼각형이 먼저 나왔다면 정삼각형도 이등변삼각형으로 판별하게 됩니다.

 

math.h 헤더파일의 pow는 제곱을 수행합니다. pow(a,b) = a^b

댓글()