배열의 크기를 변수로 입력받아 사용하고 싶을때마다 컴파일러 설정을 바꿔주는것이 귀찮다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int N;
scanf("%d", &N);
// 동적 메모리 할당
int* a = (int*)malloc(N * sizeof(int));
float* b = (float*)malloc(N * sizeof(float));
// 메모리 할당 실패 시 처리
if (a == NULL || b == NULL) {
printf("메모리 할당 실패\n");
return 1;
}
int M = 0; // 초기화를 0으로 수정
float sum = 0;
for (int i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
// 최대값 계산
for (int i = 0; i < N; i++) {
if (a[i] >= M) {
M = a[i];
}
}
// b 배열 계산
for (int i = 0; i < N; i++) {
b[i] =((float)a[i] * 100) / M;
}
// 합계 계산
for (int i = 0; i < N; i++) {
sum += b[i];
}
printf("%f\n",(sum / N));
// 동적 메모리 해제
free(a);
free(b);
return 0;
}
'C' 카테고리의 다른 글
문자열 기본 개념 및 활용 (0) | 2024.06.24 |
---|---|
날짜 구현 (0) | 2024.06.23 |
백준 10818번 최대,최소 문제에서의 VLA와 동적할당 이슈 (1) | 2024.06.20 |
포인터 연습 예제2 (0) | 2024.06.04 |
포인터 연습 예제1 (0) | 2024.06.03 |