Information Security Study
[백준] 1546: 평균 본문
조작된 평균값을 출력하는 문제다.
각 점수를 입력 받고 최댓값을 기준으로 점수를 조작해야 한다.
최댓값은 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)를 앞에 명시하지 않으면 연산 결과는 정수가 된다.
'Programming > C' 카테고리의 다른 글
[백준] 2743: 단어 길이 재기 (0) | 2024.01.11 |
---|---|
[백준] 27866: 문자와 문자열 (1) | 2024.01.11 |
[백준] 10811: 바구니 뒤집기 (1) | 2024.01.11 |
[백준] 3052: 나머지 (0) | 2024.01.10 |
[백준] 5597: 과제 안 내신 분..? (0) | 2024.01.10 |