Shiny Sky Blue Star

백준 문제 풀이/백준 (C)

C 백준 25206 너의 평점은 (심화 1)

gamja00 2024. 7. 1. 15:17

 

 

 

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


문제

  1. 20줄에 걸처 전공과목명, 학점, 등급이 공백을 구분하여 입력.
  2. 전공평점을 출력.
  3. 구하는 방법은 과목 모두 학점 등급을 해서 더하고 과목수 학점 (-P인 과목)으로 계산했다.

 

 

완성 코드

#include <stdio.h>

int main(void) {
	char subject[50], grade[3];
	double result = 0.0, temp = 0.0, count = 20, all = 0, n;

	for (int i = 0; i < count; i++) {
		scanf("%s %lf %s", subject, &n, grade);
		all += n;

		if (grade[0] == 'P') {
			all -= n;
		}
		else if (grade[0] == 'A') {
			if (grade[1] == '+') {
				result += n * 4.5;
			}
			else {
				result += n * 4.0;
			}
		}
		else if (grade[0] == 'B') {
			if (grade[1] == '+') {
				result += n * 3.5;
			}
			else {
				result += n * 3.0;
			}
		}
		else if (grade[0] == 'C') {
			if (grade[1] == '+') {
				result += n * 2.5;
			}
			else {
				result += n * 2.0;
			}
		}
		else if (grade[0] == 'D') {
			if (grade[1] == '+') {
				result += n * 1.5;
			}
			else {
				result += n * 1.0;
			}
		}
		else if (grade[0] == 'F') {
			result += n * 0.0;
		}
	}
	printf("%lf", result / all);

	return 0;
}