표준 입력으로 문자가 입력됩니다. 다음 조건대로 입력된 문자를 검사하여 결과를 출력하는 프로그램을 만드세요(scanf 함수 호출 전에
문자열을 출력하면 안 됩니다).
- 문자가 k와 다르면 "참", 같으면 "거짓"
- 문자가 h보다 크면 "참", 작거나 같으면 "거짓"
- 문자가 o보다 작거나 같으면 "참", 크면 "거짓"
표준 입력
k
표준 출력
거짓
참
참
정답
#include <stdio.h>
int main()
{
char letter;
scanf("%c", &letter);
if (letter == 'k')
printf("거짓\n");
else
printf("참\n");
if (letter > 'h')
printf("참\n");
else
printf("거짓\n");
if (letter > 'o')
printf("거짓\n");
else
printf("참\n");
}
풀이
먼저, 문자를 입력받을 변수 하나를 선언하고, scanf 함수로 입력받는다. 그다음 조건을 확인해야 하는데 1번이 k와 다르면 "참"을 같으면 "거짓"을 출력해야 한다. 따라서 조건식을 !=를 사용해서 만들 수도 있고 ==를 사용해서 만들 수도 있는데 글쓴이는 ==를 사용해서
letter == 'k'를 조건식으로 만들었다. 다음 2번은 h보다 크면 "참", 작거나 같으면 "거짓"을 출력해야 한다. 이것도 1번과 비슷한 맥락으로, <=를 사용해서 만들 수도 있고, >만을 사용해서 만들 수 있는데 글쓴이는 >를 사용하는 조건식 letter > 'h'를 만들었다. 마지막으로 3번은
o보다 작거나 같으면 "참", 크면 "거짓"을 출력해야 하는데 2번과 똑같은 맥락으로 <=와 >중 >을 선택해 조건식 letter > 'o'를 만들었다.
만들면서 "참", "거짓" 둘 중 하나를 반드시 출력해야 하므로 else문은 if에서 출력하는 값과 반대의 값을 출력하도록 만들면 된다.
주의해야 할 점
사실 이 문제는 문제를 꼼꼼히 읽어야 한다. 왜냐하면 1번 문제에서 다르면 "참"을 출력해야 하기 때문에 아무 생각 없이 같으면
참으로 했다가 틀릴 수 있기 때문이다.
'C' 카테고리의 다른 글
[C] C언어 코딩 도장 21.9 심사문제: 논리 연산자 사용하기 (0) | 2022.04.26 |
---|---|
[C] C언어 코딩 도장 20.9 심사문제: 삼항 연산자 사용하기 (0) | 2022.04.26 |
[C] C언어 코딩 도장 19.5 심사문제: 교통카드 시스템 만들기 (0) | 2022.04.26 |
[C] C언어 코딩 도장 18.10 심사문제: 합격 여부 판단하기 (0) | 2022.04.26 |
[C] C언어 코딩 도장 18.9 심사문제: else 사용하기 (0) | 2022.04.26 |