C언어(C programming)/문제풀이(백준,BaekJoon)
백준 9498 (시험성적) [C programming] [VS/Visual Code]
구루루(gururu)
2023. 11. 3. 13:18
반응형
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;
scanf("%d", &score);
switch (score/10)
{
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("F");
break;
}
return 0;
}
완성된 코드는 위와 같다.
우선 VS 에서 scanf 오류를 막기 위해 #define _CRT_SECURE_NO_WARNINGS 선언
이후 정수형 score 변수 선언후 입력값을 받는다.
이후 switch 문을 이용해 A~F 까지 10을 나눈 몫을 기준으로 상황을 나눠준다.
참고로 문제의 입력값은 0<= score <=100 이기 때문에 100을 넘어가는 점수의 경우는 신경쓰지 않아도 된다.
그리고 100점의 경우도 A에 해당하기 때문에 case 9 와 같은 상황으로 판단하기 위해 case 10에서는 break 문을 사용하지 않았다.
다른사람:
https://velog.io/@shin75492/%EB%B0%B1%EC%A4%80%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-9498-C99
#include<stdio.h>
int main()
{
int Score;
scanf_s("%d", &Score);
if (Score >= 90 && Score <= 100)
{
printf("A");
}
else if (Score >= 80 && Score <= 89)
{
printf("B");
}
else if (Score >= 70 && Score <= 79)
{
printf("C");
}
else if (Score >= 60 && Score <= 69)
{
printf("D");
}
else
{
printf("F");
}
}
완성된 코드는 위와 같다.
주목할 점은 switch 구문 대신에 if 조건문과 논리연산자를 이용해 구현한점이다.
반응형