과목의 개수를 저장할 변수, 평균을 저장할 변수, 점수 중 최댓값을 저장할 변수를 선언하고 점수들을 저장할 공간의 포인터를 선언하고, 과목의 개수를 입력받는다.
점수를 고치는 연산을 하며 소수가 될 수 있으므로 double 자료형 크기의 과목 개수만큼 저장할 수 있도록 메모리를 할당한다.
과목의 개수 만큼 반복하면서 최댓값을 찾고, 또 과목의 개수만큼 반복하면서 각 점수를 최댓값을 사용하여 문제에서 주어진 식으로 연산하여 저장한다.
연산한 점수들을 평균을 저장할 avg변수에 누적하여 저장하고, avg를 과목의 개수로 나누어 평균을 구한다.
메모리를 해제하고, 구한 평균을 출력한다.
정답 코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int subNum = 0;
double avg = 0, big = 0;
double *subArr;
scanf("%d", &subNum);
subArr = (double*)malloc(sizeof(double) * subNum);
for(int i = 0; i < subNum; i++)
{
int tmp;
scanf("%d", &tmp);
subArr[i] = double(tmp);
}
for(int i = 0; i < subNum; i++)
{
if(subArr[i] > big)
big = subArr[i];
}
for(int i = 0; i < subNum; i++)
{
subArr[i] = subArr[i]/big*100;
}
for(int i = 0; i < subNum; i++)
{
avg += subArr[i];
}
avg = avg / subNum;
free(subArr);
printf("%lf", avg);
return 0;
}
|
cs |
'Project H4C Study Group' 카테고리의 다른 글
[Project H4C] FTZ Trainer(1~3) (0) | 2021.03.07 |
---|---|
[Project H4C][백준][C언어] 2577 : 숫자의 개수 (0) | 2021.03.06 |
[Project H4C][백준][C언어] 2562 : 최댓값 (0) | 2021.03.06 |
[Project H4C][백준][C언어] 8958 : OX퀴즈 (0) | 2021.03.05 |
[Project H4C][CodeUP][C언어] 1080 : (포인터) 부분 문자열 (0) | 2021.03.05 |