PAT B1077相互評価スコアの計算(20ポイント)

ここに画像の説明を挿入
xx.5が実行できないという問題については、コンパイラが原因である可能性があります。出力値の後に0.000005を追加できます。

avg = (g1+g2) / 2 + 0.00005;
#include <cstdio>
#include <algorithm>
using namespace std;

int main(){
    
    
	int n, m;
	scanf("%d %d", &n, &m);
	for(int i=0; i<n; i++){
    
    
		double g2 = 0;
		int num = 0;
		double arr[n];
		for(int j=0; j<n; j++){
    
    
			int g;
			scanf("%d", &g);
			if(j == 0){
    
    
				g2 = g*1.0;
			}else{
    
    
				if(g>=0 && g<=m){
    
    
					arr[num++] = g*1.0;
				}
			}
		}
		sort(arr, arr+num);
		double avg = 0;
		for(int i=1; i<num-1; i++){
    
    
			avg += arr[i];
		}
		double g1 = avg / (num-2);
		avg = (g1+g2) / 2 + 0.00005;
		printf("%.0f\n", avg);
	}
	
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_45964844/article/details/114187169