https://www.acmicpc.net/problem/1546
이 문제는 입력받은 점수중 최댓값은 산출하고, 다른 점수를 원점수/최댓값*100으로 변환한 후 평균을 구하는 문제이다. 이른 통해 최고점이 70이고 다른 한 과목이 50점이면, 그 과목은 71.43점이 된다.
우선 기본 라이브러리를 불러온다.
#include <stdio.h>
그 다음 과목의 수를 입력받는다.
int n;
scanf("%d", &n);
이제 for문에서 과목을 배열 형태로 입력 받고, 삼항 연산자로 최댓값을 산출한다.
int arr[100];
int m = -1;
for (int i = 0; i < n; i++){
scanf("%d", &arr[i]);
m = (m > arr[i])? m : arr[i];
}
이제 for문으로 원점수/최댓값*100으로 변환하여 평균을 구한다.
double s = 0;
for (int i = 0; i < n; i++){
s += ((double)arr[i]/(double)m)*100.0;
}
이제 평균을 출력하면 된다.
printf("%.2\n", s/(double)n);
최종 코드
#include <stdio.h>
int main(){
int arr[1000];
int n, m = -1;
double s = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++){
scanf("%d", &arr[i]);
m = (m > arr[i])? m : arr[i];
}
for (int i = 0; i < n; i++){
s += ((double)arr[i]/(double)m)*100.0;
}
printf("%.2f\n", s/(double)n);
}'백준 C, C++ 문제(소스코드만)' 카테고리의 다른 글
| 10811번, 바구니 뒤집기 (0) | 2025.04.08 |
|---|---|
| 3052번, 나머지 (0) | 2025.04.08 |
| 5597번, 과제 안 내신 분..? (0) | 2025.04.07 |
| 10813번, 공 바꾸기 (0) | 2025.04.07 |
| 10810번, 공 넣기 (0) | 2025.04.07 |