低效率但简单的方法(人工全注解)
2026-01-01 18:37:17
发布于:重庆
51阅读
0回复
0点赞
首先,我们要找出 最大数 和 最小数 当然用函数最好 如max()
然后我们还要 得到 数组数值总和 和 剩余数组长度
数组数值总和 - ( 最大数 +最小数) = 其余数值和
数组长度(输入的数值数量) - 2 (去除的数值数量 max 和 min 两个) = 剩余数组长度
平均数 = 其余数值和 / 剩余数组长度
注意:
要用long long防止大数溢出
long long无法做除 要转换
#include <cstdio>
#include <iostream>
using namespace std;
int main(){
int a;cin>>a;//获取数组长度(输入的数值数量)
long long b;cin>>b;;//获取数值
long long min=b,max=b,eas=b;
/*先设定 最大数(max) 最小数(min) 和
最最重要的 数值---数组数值总和(eas)*/
for(int w=1;w<a;w++){//有限次循环
long long t;cin>>t;//获取数组的第 w(上一行的变量) 个数值
if(t>max){max=t;}/*比较大小,大则重设置 max 数值,这是
为了从已知数中找到 最大数*/
if(min>t){min=t;};eas+=t;};/*比较大小,小则重设置 min 数值,这是
为了从已知数中找到 最小数*/
eas-=(max+min);//其余数值和
double p=eas;//重设置好 做除
printf("%.2lf",(p/(a-2)));//做除并输出,"%.2lf"是保留小数点后2位
}
全部评论 1
点赞
2026-01-01 来自 湖南
0








有帮助,赞一个