문제
어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. (링크)
풀이
문자 배열 변수 grade에 성적을 입력받는다.
문자 배열 gradeList를 선언해 F, D, C, B, A 순으로 저장한다.
반복문을 이용해 성적에 따른 점수를 부여하고, +, -에 따라 0.3점을 더하거나 뺀다.
소스코드
#include <iostream>
using namespace std;
int main()
{
char grade[3];
cin >> grade;
double score=0;
char gradeList[5] = {'F', 'D', 'C', 'B', 'A'};
for(int i=0; i<sizeof(gradeList)/sizeof(char); i++)
{
if(grade[0] == gradeList[i]) score = i;
}
if(grade[1] == '+') score += 0.3;
else if(grade[1] == '-') score -= 0.3;
printf("%.1f", score);
return 0;
}
회고
반복문에서 반복횟수를 나타내는 변수 i를 이용해 바로 성적을 저장하려고 gradeList를 성적 역순으로 저장했다.
'Problem Solving' 카테고리의 다른 글
[백준/BOJ] 1934. 최소공배수 (C++) (0) | 2024.05.10 |
---|---|
[백준/BOJ] 2163. 초콜릿 자르기 (C++) (0) | 2024.05.10 |
[백준/BOJ] 1789. 수들의 합 (C++) (0) | 2024.05.08 |
[백준/BOJ] 11557. Yangjojang of The Year (C++) (0) | 2024.05.08 |
[백준/BOJ] 11653. 소인수분해 (C++) (0) | 2024.05.08 |