문제설명
평가를 문자(A, B, C, D, ...)로 입력받아 내용을 다르게 출력해보자.
평가 내용
평가 : 내용
A : best!!!
B : good!!
C : run!
D : slowly~
나머지 문자들 : what?
참고
조건/선택문을 복합적으로 구성해 출력할 수도 있지만,
switch(정수값)
{
case 'A': //문자 'A'가 정수값 65('A'의 아스키 값)로 저장되기 때문에 가능하다.
...;
break;
case 'B':
...;
break;
case 'C':
...;
break;
default:
...;
}
위와 같은 switch( ) ... case... break; 제어문을 사용할 수 있다.
** break; 를 사용하지 않으면 이후의 명령들도 계속 실행된다.
default: 는 제시된 case 를 제외한 나머지 모든 경우에 실행된다.
switch( ) 에 주어지는 값은 “정수"값만 가능하며,
문자도 아스키코드 정수값이기 때문에 가능하다.
입력
영문자 1개가 입력된다.
(A, B, C, D 등의 한 문자가 입력된다.)
출력
평가내용에 따라 다른 내용이 출력된다.
입력예시
A
출력예시
best!!!
#include <stdio.h>
int main(void){
char n;
scanf("%c", &n);
switch(n){
case 'A':
printf("best!!!");
break;
case 'B':
printf("good!!");
break;
case 'C':
printf("run!");
break;
case 'D':
printf("slowly");
break;
default:
printf("what?");
}
}
이 문제는 크게 어려움이 있지는 않지만 평소에 잘 쓰지 않는 부분이 있어 기록하려고 작성해본다. 여기서 처음에 switch 안에서 정수형을 넣어야 된다고 해서 처음에는 int 형과 %d를 활용했다. 하지만 이것은 아니였다 switch 하는 과정에서 알아서 아스키 코드로 변환하여 하기에 문자열로 입력을 받고 저장해야 하는 것이 맞다. 그리고 case 부분에 줄 들여쓰기가 안되길래 잘못한줄 알았는데 아니였다. case로 알아서 찾아 들어가기 때문에 걱정안하고 해도 된다. 각각 출력해야할 것을 넣어주고 break;로 마무리해주면 된다. else처럼의 역할은 default이다. 다른 것을 입력안하고 default: 이 형태로만 해줘도 된다.
'C language > Codeup' 카테고리의 다른 글
[C] 코드업 문제풀이 1904 :(재귀함수) 두 수 사이의 홀수 출력하기 (0) | 2021.08.25 |
---|---|
[C] 코드업 문제풀이 1902 :(재귀 함수) 1부터 n까지 역순으로 출력하기 (0) | 2021.08.25 |
[C] 코드업 문제풀이 3004: 데이터 재정렬 (0) | 2021.08.19 |
[C] 코드업 문제풀이 1805:입체기동장치 생산공장 (0) | 2021.08.19 |
[C] 코드업 문제풀이 1535:함수로 가장 큰 값 위치 리턴하기 (0) | 2021.08.19 |