← 학습 코스

구간 이름을 하나만 골라요

C++디버깅

이미 골랐으면 다음 후보는 검사하지 않아요

앞 레슨에서 기준값 포함 여부를 읽었어요. 이번에는 한 결과만 고르는 여러 구간을 다뤄요. 독립된 if 두 개는 둘 다 실행될 수 있지만 if/else if는 처음 참인 가지 하나만 실행해요.

if (score < 20) label = 1;
else if (score < 40) label = 2;
else label = 3;

score=10이면 첫 가지에서 label=1을 정하고 끝나요. score=30이면 두 번째 가지를 고르고, 50이면 마지막 가지를 골라요.

구간과 결과를 표로 맞춰요

구간을 낮음·안쪽·높음으로 나눌 때 경계가 빠지거나 결과가 두 번 바뀌지 않아야 해요.

value의 위치 선택할 결과
low 미만 1
low 이상 high 이하 2
high 초과 3

value=low는 어느 결과일까요? 2예요. low=high여도 그 한 점은 안쪽 구간에 속해요. 다음 과제에서는 비교식 하나뿐 아니라 ‘첫 결과를 정한 뒤에도 다음 if가 실행되는가’를 추적해요.

직접 풀어봐요

value가 low 미만이면 1, low 이상 high 이하이면 2, high 초과이면 3을 반환해요. 제공 함수가 결과를 하나만 고르도록 한 줄을 수정해요.

value는 −200200, low와 high는 −100100이며 low≤high예요. 실행용 입력은 value low high, 출력은 반환값이에요. main은 실행용이에요.

예시 1: (5,10,20) → 1. low보다 작아 결과 1이에요. 예시 2: (15,10,20) → 2. 구간 안이라 결과 2예요.

예시 입력

5 10 20

예상 결과

1

예시 입력

15 10 20

예상 결과

2
핵심 개념
  • conditionals: 서로 겹치지 않는 가지 중 하나만 골라요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기