C/문법

[C] 백준 1546 - 배열 동적 할당

Rix 2022. 4. 25. 00:33
// 1546
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	// 시험 본 과목 수 n
	int n;
	float max = 0, sum = 0;
	scanf("%d", &n);
	float* score = (float*)malloc(sizeof(float) * n);
	for (int i = 0; i < n; i++) // 과목 입력 받고 최댓값 구하기
	{
		scanf("%f", &score[i]);
		if (score[i] > max) max = score[i];
	}

	for (int i = 0; i < n; i++)
	{
		sum += (score[i] / max) * 100;
	}

	float avg = sum / n;
	printf("%f", avg);
	free(score);
	return 0;
}
과목 수에 따라 배열의 크기를 조정하기 위해서 malloc을 사용했다.
#include<stdlib.h>
...
float* score = (float*)malloc(sizeof(float) * n);
...
free(score);