반응형
문제).
정수인 삼각형의 세변을 길이를 입력한 후, 삼각형의 종류(예각삼각형, 직각삼각형, 둔각삼각형)를 판단하고 삼각형의 둘레의 길이와 면적을 구하시오.
실행 예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;
}
반응형
'C언어 문제 > 수학 문제' 카테고리의 다른 글
[재귀함수] 10진수를 2진수, 8진수, 16진수로 변환하기 (0) | 2021.10.27 |
---|---|
[백준 1463] 1로 만들기 (0) | 2020.08.12 |
오일러 파이 함수(Eulerφ函數: Euler’s phi (totient) function) 구현 (0) | 2020.06.22 |
한 변의 길이가 100이하인 직각 삼각형 구하기 (0) | 2020.06.12 |
복소수의 더하기/빼기/곱하기/절대값 구하기 (0) | 2020.06.12 |