https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
#include <stdio.h>
int main() {
int n; // 입력받을 과목 개수 n 정의
int max = 0; // 가장 점수가 높은 과목 max 정의
double avg = 0; // 점수/max*100에 사용할 변수 avg 정의
scanf("%d", &n); // n 과목수 입력받음
int score[1000]; // 점수 배열 score 생성 ( <=1000)
for (int i = 0; i < n; i++) // 입력받은 n에 따라 어떤 원소가 max일지 구하는 반복문
{
scanf("%d", &score[i]); // n개에 맞게 원소값 입력
if (max < score[i]) // max가 score[i] 값 비교했을때 작다면
max = score[i]; // max는 score[i]와 같다
}
for (int i = 0; i < n; i++) // 모든 점수(원소)를 차례대로 각 점수 / max * 100으로 하기 위한 반복문
{
avg += (double)score[i] / max * 100; // 새로운 평균값을 구하기 위해 모든 avg를 더함
// 실수값이 나와야해서 (double)로 강제 형변환을 시킴
}
printf("%lf\n", avg/n); // 새로운 평균값 출력
return 0;
}
강제형변환 말고
max, avg, score[1000]을 double이나 float형으로 정의해서 풀어도 된다.
'코딩 > 백준 문제 (브론즈)' 카테고리의 다른 글
[백준/1977/C언어] 완전제곱수 풀이 (0) | 2023.07.13 |
---|---|
[C언어] 근로 소득세 계산하기 (0) | 2023.04.28 |
[C언어]기철이는 얼마간 일했을까요? (0) | 2023.03.25 |
[백준/25314/C] 코딩은 체육과목 입니다 - 풀이 (0) | 2023.03.12 |
[백준/11382/C언어] 꼬마 정민 풀이 (0) | 2023.03.05 |