[백준 C] 1546 : 평균

anfruf·2022년 6월 4일

백준 C언어

목록 보기
39/62
  1. C언어 : 1차원 배열(5)

04.JUN.2022

문제 : 1차원 배열

세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 
세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 
점수를 점수/M*100으로 고쳤다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 
평균을 구하는 프로그램을 작성하시오.

문제 풀이

1.1차원 배열을 이용한 답안

// 1.1차원 배열 이용
#include <stdio.h>

int main()
{
	int input, max = 0;
	double result = 0;
	double arr[1000]; // 문제 조건 : 과목의 갯수 1000개와 같거나 작음
	scanf("%d", &input);

	for (int i = 0; i < input; i++) { // 수만큼 점수들을 입력받아 배열 저장
		scanf("%lf", &arr[i]);
		if (arr[i] > max) max = arr[i]; // 최댓값
	}

	for (int i = 0; i < input; i++) {
		result += arr[i] / max * 100; // 새로운 점수들의 합
	}

	printf("%lf", result / input); // 새로운 점수들의 평균

	return 0;
}

2.일반 풀이 답안

// 2.일반 풀이
#include <stdio.h>

int main() {
int input, score, max = 0;
	double result = 0;

	scanf("%d", &input);

	for (int i = 0; i < input; i++) {
		scanf("%d", &score);
		result += score; // 총 점수
		if (max < score) max = score; // 최댓값
	}

	// (총 점수들 / 최댓값*100) / 과목수 == 새로운 점수의 평균
	printf("%lf", (result / max * 100) / input);

	return 0;
}

0개의 댓글