第28行,原来用的是abs,WA。因为返回的是int类型的,所以总是0。自己写了个myabs函数。
#include <stdio.h>
#include <math.h>
float myabs(float a) {
return a>0?a:-a;
}
int main() {
int n, i, ans;
double max, min, sum, temp, t1, t2, d[21];
while(~scanf("%d", &n) && n) {
max = -1;
min = 11;
sum = 0;
for(i=0; i<n; i++) {
scanf("%lf", &d[i]);
if(d[i]>max)
max = d[i];
if(d[i]<min)
min = d[i];
sum += d[i];
}
sum -= (max + min);
temp = sum / (n-2);
t1 = 11.0;
for(i=0; i<n; i++) {
t2 = myabs(temp - d[i]);
if(t1>t2) {
ans = i;
t1 = t2;
}
}
printf("%d\n", ans+1);
}
return 0;
}