帮看看 几乎同样的代码,一个AC,一个WA,该如何解决

帮看看 几乎同样的代码,一个AC,一个WA
能AC的代码:

C/C++ code

#include <stdio.h>
double s[1005];
int main()
{
    int n, i;
    while (scanf("%d", &n)&& n)
    {
        double sum = 0, resultH = 0, resultL = 0;
        for (i = 0; i < n; i++)
        {
            scanf("%lf", &s[i]);
            sum += s[i];
        }
        sum /= n;
   
        for (i = 0; i < n; i++){
            if (s[i] < sum)
                resultL += (int)((sum - s[i])*100) / 100.0;
            else
                resultH += (int)((s[i] - sum)*100) / 100.0;
        }
        printf("$%0.2lf\n", resultL < resultH ? resultH:resultL);
    }
    return 0;
} 



不能AC的代码:
C/C++ code
#include <stdio.h>
double a[1005];
int main(){
  int i,n;
  while(scanf("%d",&n) && n){
     double resultR = 0,resultL = 0,sum = 0;
     for(i = 0;i < n;i++){
         scanf("%lf",&a[i]);
         sum += a[i];      
     }
     sum /= n;
     for(i = 0;i < n;i++){
        if(a[i] < sum)
           resultL += (int)((sum - a[i])*100) / 100.0;  
        else
           resultR += (int)((a[i] - sum)*100) / 100.0;
     }
     printf("$%0.2lf\n",resultL < resultR ? resultL:resultR);                       
  } 
  return 0;    
}




------解决方案--------------------
printf("$%0.2lf\n", resultL < resultH ? resultH:resultL);
printf("$%0.2lf\n",resultL < resultR ? resultL:resultR);

除了一些名字不一样外,就这里两个值交换了。
不知道还有没有别的茬。
------解决方案--------------------
printf("$%0.2lf\n", resultL < resultH ? resultH:resultL);
printf("$%0.2lf\n",resultL < resultR ? resultL:resultR);

这里反了,答案肯定就错了 ,其他没有变