首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-04-03 
帮看看 几乎同样的代码,一个AC,一个WA能AC的代码:C/C++ code#include stdio.hdouble s[1005]int main()

帮看看 几乎同样的代码,一个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);

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

热点排行