C로 구현한 1546번 평균 구하기 문제 풀이입니다.
#include <stdio.h>
int main() {
int num=0;
double score[1000] = {0};
double max=0, avg = 0, result=0;
scanf("%d", &num);
for(int i=0; i<num; i++) {
scanf("%lf", &score[i]);
if(score[i] > max)
max = score[i];
}
for(int j=0; j<num; j++) {
score[j] = score[j]/max*100;
avg += score[j];
result = avg/(double)num;
}
printf("%lf", result);
}
평균을 구하기 위해 배열 score과 변수 max, avg, result는 double형으로 선언합니다.
평균을 구하기 전에 문제에서 요구하는 최대값을 구하는 작업을 먼저 하여 max 변수에 삽입해줍니다.
첫번째 for문이 끝나 max값이 최종적으로 정해지면 두번째 for문으로 넘어가 작업을 해줍니다. 평균을 구하는데
결과값은 실수형이고 num은 정수형이기 때문에 변수 num을 double형으로 강제 형변환을 시켜줍니다.
https://www.acmicpc.net/problem/1546
'백준(C언어) 풀이 > 1차원 배열' 카테고리의 다른 글
백준(C) 4344번 평균은 넘겠지 풀이 (0) | 2021.07.13 |
---|---|
백준(C) 8958번 OX퀴즈 풀이 (0) | 2021.07.13 |
백준(C) 3052번 나머지 풀이 (0) | 2021.07.12 |
백준(C) 2577번 숫자의 개수 풀이 (0) | 2021.07.12 |
백준(C) 2562번 최댓값 풀이 (0) | 2021.07.12 |