중간고사를 핑계로 한동안 백준 문제를 풀지 못했다. 하루에 30분만 투자해도 풀수 있는데도 말이다. 오늘 오랜만에 백준문제를 푸록 블로그도 써본다.
이 문제는 숫자 세개를 입력받으면
세 변의 길이가 모두 같은 경우: Equilateral
두 변의 길이만 같은 경우 :Isosceles
세 변의 길이가 모두 다른 경우 :Scalene
단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력하는 프로그램을 짜면 된다. (참고로 두 변의 길이의 합이 한변보다 짧으면 Invalid 다.)
또한 숫저 0 0 0 이 입력될 때까지 무한데로 출력하는 프로그램이고 출력이 될때마다 줄바꿈을 해주어야 한다.
#include <iostream>
using namespace std;
int main(){
while(1){
int a,b,c;
cin>>a>>b>>c;
if(a == 0 && b == 0 && c == 0) break;
if(a == b && b == c && a == c) cout<<"Equilateral\n";
else if(a >= b+c || b >= c + a || c >= a + b) cout<< "Invalid\n";
else if(a == b || b==c || c == a) cout<<"Isosceles\n";
else if(a !=b && b != c && a != c) cout<<"Scalene\n";
}
return 0;
}
줄바꿈을 안해줘서 처음에 오류가 떠서 아쉬웠다. 다음에는 주의해야겠다.