본문 바로가기
c++

[C++] 3항 연산자 (A>B) ? B : A

by yoonjunho 2023. 3. 4.

 (A>B) ? B : A

괄호 안에 들어있는게 '참'이면 앞에 걸(B) 출력

괄호 안에 들어있는게'거짓'이면 뒤에 걸(A) 출력

 

 (A>B) ? B : A 이면 '작은 걸 출력' 하는 것이 된다.

 (A<B) ? A : B

 

 

(A<B) ? B : A이면 '큰 걸 출력' 하는 것이 된다.

(A>B) ? A : B

 

 

cout와 함께 쓰려면,

cout << ((fee01 > fee02) ? fee02 : fee01);이렇게 ( (A>B) ? A : B ) 식 전체에 괄호 한 번 더 쳐야지 제대로 작동된다.

 

ex)

핸드폰 요금

#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

int main(void) {
	int n;
	cin >> n;
	int sum = 0;
	int call;
	int fee01 = 0;
	int fee02 = 0;
	for (int i = 1; i <= n; i++) {
		cin >> call;
		cout << call;
		//영식
		if (call < 30)
			fee01 += 10;
		else
			fee01 += 20;
		//민식
		if (call < 60)
			fee02 += 15;
		else
			fee02 += 30;
	}
	cout << "\n"<<fee01 <<"\n"<< fee02<<"\n";
	cout << ((fee01 > fee02) ? fee02 : fee01);
	return 0;
}