Programming/C
[백준] 1546: 평균
gayeon_
2024. 1. 11. 10:07
조작된 평균값을 출력하는 문제다.
각 점수를 입력 받고 최댓값을 기준으로 점수를 조작해야 한다.
최댓값은 max 변수를 초기화하고 for문으로 배열 요소와 하나하나 비교하여 찾을 수 있다.
입출력 예제다.
#include <stdio.h>
int main() {
int N;
int max = 0;
float sum;
float ary[1000];
scanf("%d", &N);
for(int i = 0; i < N; i++) {
scanf("%f ", &ary[i]);
}
for(int i = 0; i < N; i++) {
if(ary[i] >= max) {
max = ary[i];
}
}
for(int i = 0; i < N; i++) {
ary[i] = (float)ary[i] / max * 100;
}
for(int i = 0; i < N; i++) {
sum += ary[i];
}
printf("%f", sum / N);
return 0;
}
실수 형태로 출력되어야 하기 때문에
점수의 합계를 저장하는 sum의 자료형은 실수형이어야 한다.
ary[i]/max 부분에서 (float)를 앞에 명시하지 않으면 연산 결과는 정수가 된다.