반응형
https://www.acmicpc.net/problem/9498
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int score;
char grade;
scanf("%d", &score);
switch (score / 10) // 일의 자리 수 절삭하기 위함
{
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'F';
break;
}
printf("%c", grade);
return 0;
}
if문을 활용하여 풀어도 되었지만 switch-case 문을 쓰기 좋은 조건인 것 같아 한 번 사용해 보았다.
switch-case문 정리
1. if문이나 중첩된 if문과 같이 정보를 '분류'하는데 사용하는 제어문이지만 차이가 있다.if문은 조건식을 단계별 혹은 중첩한 경우를 선택하지만 switch-case문은 단 한번의 연산으로 특정한 경우 하나를 선택하는 것에서 차이가 있다. (여기서 3의 내용이 적용된다.)
2. case에 대응할 수 있는 값은 반드시 정수여야한다. →switch문에 기술한 값과 각 case에 대응한 값은 상등연산('==')을 통해 비교하기 때문이다. 정수와 실수 혹은 실수와 실수간의 상등연산은 부동소수점 오차로 인한 문제가 발생할 수 있다.
3. case문의 끝에는 ';'이 아닌 label인 ':'이 존재한다.
label인 ':'는 단순히 코드의 위치를 기술하는 것
반응형
'Baekjoon' 카테고리의 다른 글
[C] 백준 11720번 : 숫자의 합 (0) | 2023.01.14 |
---|---|
[C] 백준 10951번 : A + B - 4 (2) | 2023.01.13 |
[C] 백준 5597번 : 과제 안 내신 분..? (0) | 2023.01.11 |
[C] 백준 1008번 : A/B (0) | 2023.01.10 |
[C] 백준 2908번 : 상수 (0) | 2023.01.09 |