Backjunアルゴリズムの問題を解くc/c++-1546-


https://www.acmicpc.net/problem/1546
  • 小数点以下四捨五入
  • コメントリンク
    https://coding-factory.tistory.com/683
    #include <stdio.h>
    #include <algorithm>
    #include <math.h>  // round 함수 쓰기 위함
    
    using namespace std;
    
    
    
    int main() {
    
    	int n;
    	scanf("%d", &n);
    
    	double arr[1010];
    
    	for (int i = 0; i < n; i++)
    		scanf("%lf", &arr[i]);
    
    	sort(arr, arr + n);
    
    	double max = arr[n - 1];
    
    	for (int i = 0; i < n; i++) {
    		arr[i] = round(arr[i] / max * 100 * 100) / 100;
            // 소수점 둘째자리 까지 반올림한 값 사용
    	}
    
    	double sum = 0;
    
    	for (int i = 0; i < n; i++)
    		sum += arr[i];
    
    	double result = sum / n;
    
    	result = round(result * 1000000) / 1000000;
        //소수점 여섯째자리 까지 반올림하기
    
    	printf("%lf", result);
    
    	return 0;
    }