티스토리 뷰

알고리즘(C++)/백준 알고리즘

1546번 : 평균

개발하는꼬물이 2017. 11. 19. 19:11

1. 문제 요약

   점수의 최대값이 M이고, 나머지 점수를 점수 / M * 100 이라고 할 때, 평균을 구하는 프로그램을 작성하시오.

   첫째 줄에 시험 본 과목의 개수 N이 주어진다. (N <= 1000)

   둘째 줄에는 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.


2. 예제 입력

3
40 80 60


3. 예제 출력

75.00


4. 코드

#include <iostream>
using namespace std;

int main()
{
	int n, max = 0;
	double total = 0.0, avg = 0.0;

	cin >> n; // 과목 갯수 입력

	if (n < 0 || n > 1000)
		return 0;

	int* arr = new int[n + 4];

	for (int i = 0; i < n; i++)  // 점수 입력 
	{
		cin >> arr[i];

		if (arr[i] > 100 || arr[i] < 0)
			return 0;
	}

	for (int i = 0; i < n; i++)  // 최댓 값 구하기
	{
		if (max < arr[i])
		{
			max = arr[i];
		}
	}

	for (int i = 0; i < n; i++)
	{
		total += (double)arr[i] / (double)max * 100.0;
	}

	cout << fixed;
	cout.precision(2);

	avg = total / (double)n;

	cout << avg << endl;

	delete[] arr;

	return 0;
}

'알고리즘(C++) > 백준 알고리즘' 카테고리의 다른 글

15552번 : 빠른 A+B  (2) 2018.04.17
1110번 : 더하기 사이클  (0) 2017.11.19
10871번 : X 보다 작은 수  (0) 2017.11.19
10817번 : 세 수  (0) 2017.11.19
9498번 : 시험 성적  (0) 2017.11.19
댓글