分可以确定范围和不能确定范围两种情况
确定范围则是准确的最大值最小值
不确定范围则是
INT_MAX 整型数据类型(int)的最大正数的常量
INT_MIN 整型数据类型(int)的最小负数的常量
(INT_MIN 的绝对值比 INT_MAX 大 1)
FLT_MAX 可表示的最大正有限浮点数的常量
(-FLT_MAX 是负的可表示的最大有限浮点数的常量)
FLT_MIN 可表示的最小正非零浮点数的常量
DBL_MAX 可表示的最大正有限双精度浮点数的常量
DBL_MIN 可表示的最小正非零双精度浮点数的常量
然后给max赋值最小值,当输入大于max时再次赋值max
给min赋值最大值,当输入小于min时再次赋值min
接下来的循环则趋于正常
如下
#include <stdio.h>
int main()
{
int n,i=0;
float a,s=0,max=0,min=10;
scanf("%d",&n);
while(i<n){
scanf("%f",&a);
s+=a;
if(a>=max)
{
max=a;
}
if(a<=min)
{
min=a;
}
i++;
}
printf("%.2f",(s-max-min)/(n-2));
return 0;
}
在条件运算符中,冒号前后应该是表达式而不是语句。 printf 可以是语句。