반응형

받은 점수 중 최댓값을 찾고 저장한 후 평균 점수를 구하는 간단한 문제이다.

 

#include using namespace std; int main() { int N = 0; int arr[1000]; cin >> N; for (int i = 0; i < N; i++) { cin >> arr[i]; } double sum = 0; double max_arr = 0; for (int i = 0; i < N; i++) { sum += arr[i]; if (arr[i] > max_arr) max_arr = arr[i]; } double result = sum * 100 / max_arr / N; cout << result << endl; return 0; }

 

이때 결과가 double일 가능성이 있기 때문에

sum과 max를 초기화 할 때도 double로 해줘야 한다.

 

int 또는 long으로 하면 마지막 result를 저장하는 과정에서

형 변환이 일어나지 않고 int나 long으로 축소시켜 저장하여 출력한다.

 

즉 결과가 double일 수도 있기 때문에

double 값으로 출력한다면 그 계산에 들어가는 변수도 double로 만들어줘야 한다.

 

 

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

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

 

반응형

+ Recent posts