Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 삼각형이 정삼각형, 이등변삼각형, 부등변삼각형인지 판별하는 프로그램

삼각형은 세 개의 변과 세 개의 각으로 이루어진 도형입니다. 세 변의 길이 관계에 따라 삼각형은 다음과 같이 세 가지 유형으로 분류할 수 있습니다.

  • 정삼각형(Equilateral Triangle): 세 변의 길이가 모두 같은 삼각형
  • 이등변삼각형(Isosceles Triangle): 두 변의 길이가 같은 삼각형
  • 부등변삼각형(Scalene Triangle): 세 변의 길이가 모두 다른 삼각형

이 글에서는 사용자로부터 세 변의 길이를 입력받아 해당 삼각형이 어떤 유형에 속하는지 판별하는 C 프로그램을 작성하는 방법을 알아보겠습니다.

알고리즘

프로그램을 작성하기 전에, 먼저 아래 알고리즘을 통해 문제 해결의 흐름을 이해해 보겠습니다.

1단계: 삼각형의 세 변(side1, side2, side3)을 선언한다.
2단계: 실행 시점에 세 변의 길이를 입력받는다.
3단계: 만약 side1 == side2 && side2 == side3 이라면 → 6단계로 이동
4단계: 만약 side1 == side2 || side2 == side3 || side3 == side1 이라면 → 7단계로 이동
5단계: 그 외의 경우 → 8단계로 이동
6단계: 정삼각형임을 출력한다.
7단계: 이등변삼각형임을 출력한다.
8단계: 부등변삼각형임을 출력한다.

핵심 논리는 간단합니다. 먼저 세 변이 모두 같은지(&& 연산자 사용)를 확인하고, 그렇지 않다면 두 변이라도 같은지(|| 연산자 사용)를 확인한 뒤, 어느 조건에도 해당하지 않으면 세 변이 모두 다른 부등변삼각형으로 판단합니다.

C 프로그램 코드

다음은 삼각형이 정삼각형인지, 이등변삼각형인지, 부등변삼각형인지 판별하는 C 프로그램입니다.

#include<stdio.h>
int main(){
int side1, side2, side3;
printf("Enter sides of triangle:");
scanf("%d%d%d",&side1,&side2,&side3);
if(side1 == side2 && side2 == side3)
printf("The Given Triangle is equilateral\n");
else if(side1 == side2 || side2 == side3 || side3 == side1)
printf("The given Triangle is isosceles\n");
else
printf("The given Triangle is scalene\n");
return 0;
}

실행 결과

위 프로그램을 컴파일하여 실행하면 다음과 같은 결과를 확인할 수 있습니다.

Run1:
Enter sides of triangle:3 4 6
The given Triangle is scalene

Run2:
Enter sides of triangle:2 2 5
The given Triangle is isosceles

Run3:
Enter sides of triangle:5 5 5
The Given Triangle is equilateral

첫 번째 실행에서는 세 변이 3, 4, 6으로 모두 달라 부등변삼각형으로, 두 번째 실행에서는 두 변이 2로 같아 이등변삼각형으로, 세 번째 실행에서는 세 변이 모두 5로 같아 정삼각형으로 판별된 것을 확인할 수 있습니다. 이처럼 if-else 조건문과 논리 연산자를 활용하면 삼각형의 유형을 손쉽게 판별할 수 있습니다.