티스토리 뷰

세 수 정렬후 중간 값 출력 문제. 최대 비교 세 번으로 중간값을 출력할 수 있다. 3개의 데이터에 3번의 비교니까 더 나은 비교는 불가

문제

<그림1: 문제 설명, Output Format을 잘 맞추자>


#include<iostream>
using namespace std;
int main() {
	int N,num1,num2,num3;
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin>> num1 >> num2 >> num3;
		cout << "Case "<<i+1<<": " <<((num1 > num2) ? ((num2 > num3) ? (num2) : (num1 > num3 ? (num3) : (num1))) : (num3 > num2 ? (num2) : (num3 > num1 ? (num3) : (num1))))<<endl;
	}
	return 0;
}

삼항연산자를 길게 썼는데 그냥 if-elif로 써도 똑같음

댓글