문제). 
정수인 삼각형의 세변을 길이를 입력한 후, 삼각형의 종류(예각삼각형, 직각삼각형, 둔각삼각형)를 판단하고 삼각형의 둘레의 길이와 면적을 구하시오. 

 

 

 

실행 예1).

 

입력)

세 변의 길이를 입력하세요 : 3 4 5

 

결과).

직각삼각형입니다.
삼각형의 둘레는 12이고,
삼각형의 면적은 6.000000입니다.

 

 

 

 

 

 

 

 

 

 

 


답은 아래에... ↓

 

 

 

 

 

 

 


 

 

 

 

 

스스로 풀어보시고... ↓

 

 

 

 

 

 


 

 

 

 

 

 

아래 답과 비교해보세요. ↓

 

 

 

 

 

 


프로그램 소스

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

int main(void)
{
    int a, b, c, len;
    double area, p;

    printf("세 변의 길이를 입력하세요 : ");
    scanf("%d %d %d", &a, &b, &c);
    if (a + b <= c || a + c <= b || b + c <= a) {
        printf("삼각형이 아닙니다.\n");
        return 0;
    } else if (a * a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a) {
        printf("직각삼각형입니다.\n");
    } else if (a * a + b * b < c * c || a * a + c * c < b * b || c * c + b * b < a * a) {
        printf("둔각삼각형입니다.\n");
    } else {
        printf("예각삼각형입니다.\n");
    }
    len = a + b + c;
    p   = len / 2.0;
    
    // 삼각형의 면적은 헤론의 공식을 이용하였습니다.
    area = sqrt(p * (p - a) * (p - b) * (p - c));
    
    printf("삼각형의 둘레는 %d이고\n", len);
    printf("삼각형의 면적은 %lf입니다.\n", area);
    
    return 0;
}

 

 

 

 

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

댓글을 달아 주세요