시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
1) scanf
변수에 숫자를 입력 받을 수 있도록 해주는 함수인데 코딩을 하는 텀이 조금 생겼다가 하는 경우에 자주 실수를 한다. 보안상의 이유로 scanf사용을 금하고 _s 를 붙이는 것으로 알고 있는데 이것을 해결하기 위해서는
-> #define _CRT_NO_SECURE_WARNINGS 선언 해놓기
-> scanf_s를 사용하기
❗ 백준 컴파일 오류 : 백준에서는 scanf로 입력을 해야된다!
2) if(90 <= Score <= 100)
너무 생각없이 문제를 접근하다가 도데체 무엇이 문제인가 싶어서 고민을 한 부분이다. 블로그에 적으면서 다시 봐도 정말 부끄러운 일이다. 단순히 수학적으로 보고 왜 안되는지 생각하지 말고 컴퓨터는 어떻게 처리를 하는지, 어떤 기능을 지원하고 있는지 잘 생각하고 다시 공부할 필요가 있다고 생각을 했다.
-> if(Score <= 100 && Score >= 90)
전체 코드
#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");
}
}