- C언어 : 1차원 배열(5)
04.JUN.2022
세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단
세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 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;
}