C/백준알고리즘

[C] 백준알고리즘 #1546 평균

Sehyeok20 2021. 1. 20. 11:56
반응형

백준알고리즘 #1546 평균 문제

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);

}
	

 

 

반응형