세준이가 기말고사를 망쳤대요. ㅜㅜ 그래도 조작은 안돼!!
최고 점수 M을 구하고, 모든 점수를 원점수/M*100으로 수정
> 이후 평균 구하기
예) 점수가 각 40, 80, 60점이라 할 때
> M(최고 점수) = 80, 평균 = (50+100+75)/3 = 75
예제를 통해서 M도 수정을 해준다는 걸 알 수 있었죠...
그럼 예외가 없으니까 조금? 수월? 할? 듯?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int n, M = 0;
double sum = 0;
int score[1000];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &score[i]);
if (M < score[i]) { M = score[i]; }
}
for (int i = 0; i < n; i++) {
sum += (double)score[i] / M * 100;
}
printf("%f", sum / n);
return 0;
}
과목의 개수가 1000개 이하니까 score 배열을 1000칸으로 받아줍니다.
그런 다음 M에 최댓값을 저장할 수 있도록 반복문을 만들어주고, 아래에 sum 변수에 점수를 변환해서 저장합니다.
마지막으로 sum/n을 출력해서 코드를 마쳐줬습니다...
근데 여기서 double형으로 변환을 안 시켜줘서 막혔었는데 선배가 알려줘서 풀었어요 우하하
형변환에 아직 많이 약한 것 같습니다... 어려워이...
눈물이 나지만 해야죠
잉잉
언젠간 잘하게 되겠지....
'백준' 카테고리의 다른 글
[백준/C] 2839번: 설탕 배달 (0) | 2024.07.10 |
---|---|
[백준/C] 10773번: 제로 (0) | 2024.07.09 |
[백준/C] 25304번: 영수증 (0) | 2024.07.07 |
[백준/C] 8393번: 합 (0) | 2024.07.07 |
[백준/C] 2884번: 알람 시계 (0) | 2024.07.06 |
댓글