반응형
DoZZang
Do IT
DoZZang
전체 방문자
오늘
어제
  • Programming
    • Git
    • Web
    • 기타
    • Python
      • CodeUp
    • Math
    • Algorithm
    • Baekjoon
    • C,C++
    • Life
      • 독서
      • Just
      • 영화

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DoZZang

Do IT

[C] 백준 9498번 : 시험 성적
Baekjoon

[C] 백준 9498번 : 시험 성적

2023. 1. 11. 10:24
반응형

https://www.acmicpc.net/problem/9498

 

9498번: 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

	#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
    'Baekjoon' 카테고리의 다른 글
    • [C] 백준 11720번 : 숫자의 합
    • [C] 백준 10951번 : A + B - 4
    • [C] 백준 5597번 : 과제 안 내신 분..?
    • [C] 백준 1008번 : A/B
    DoZZang
    DoZZang
    과정은 힘들지만 성장은 즐겁습니다.

    티스토리툴바