top1编程
← 返回题目
题解

细胞

1 条题解

  • 0
    @ 2026-7-28 22:45:18
    #include<bits/stdc++.h>   
    using namespace std; 
    int n; 
    double a[310], j; // 声明一个数组 a 用于存储白细胞计数,j 用于计算总和  
    int main() {  
    	cin >> n; // 从标准输入读取样本数量 n  
    	for (int i = 1; i <= n; i++) { // 循环读取 n 个白细胞计数  
    		cin >> a[i]; // 将每个白细胞计数存入数组 a  
    	}  
    	sort(a + 1, a + n + 1); // 对数组 a 进行排序,从小到大  
    	for (int i = 2; i < n; i++) { // 从第二个元素到倒数第二个元素进行循环  
    		j += a[i]; // 将当前元素累加到 j 中,计算去掉最大和最小值后的总和  
    	}  
    	// 输出去掉最大和最小值后的平均值,保留两位小数  
    	cout << fixed << setprecision(2) << j / (n - 2) << " "  
    	// 输出去掉最大和最小值后的平均值与第二小值和第二大值的绝对差的最大值  
    	<< max(fabs(a[2] - j / (n - 2)), fabs(a[n - 1] - j / (n - 2)));   
    	return 0;  
    }
    
    • 1