반응형
n개의 정수를 입력받고 각 수들을 x / 최대값 x 100으로 바꾼 후 평균을 구하는 문제이다.
먼저 n개의 정수를 저장하기 위한 배열을 만든다 이 때 입력조건에서 이 값은 1000보다 작다 로 되어있으므로
배열의 크기를 a[1000]으로 지정한다.
최대값을 저장할 max변수
총점을 저장할 sum변수
평균값을 저장할 avg변수를 만드는데
sum변수와 avg 변수는 소수점 아래까지 표기해야하므로 자료형을 double로 지정한다.
for문을 이용하여 n개의 값을 입력받아 a[ ] 배열에 차례대로 저장한 후 max와 비교하여 최대값을 저장해둔다.
그 후 다시 for문을 이용하여 각 a[ ]의 원소들을 조건에 맞게 /최대값 x 100 으로 저장한다.
(이 값들이 소수점 아래까지 표시되므로 배열선언도 double로 해두었다.)
그리고 sum 변수에 이 값들을 모두 더한 후
sum을 n으로 나누어 출력하면 완성
#include <stdio.h>
int main() {
int n;
double a[1000] = { 0 };
int max = 0;
double sum = 0;
double avg;
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%lf", &a[i]);
if (max < a[i]) {
max = a[i];
}
}
for (int i = 0; i < n; i++) {
a[i] = a[i] / (double) max * 100;
sum += a[i];
}
avg = sum / n;
printf("%lf", avg);
}
반응형
'C > 백준알고리즘' 카테고리의 다른 글
[C] 백준알고리즘 #4344 평균은 넘겠지 (0) | 2021.01.21 |
---|---|
[C] 백준알고리즘 #8958 OX퀴즈 (0) | 2021.01.21 |
[C] 백준알고리즘 #3052 나머지 (0) | 2021.01.20 |
[C] 백준알고리즘 #2577 숫자의 개수 (0) | 2021.01.19 |
[C] 백준알고리즘 #2562 최댓값 (0) | 2021.01.19 |