PC110103(旅行)(The Trip)

来源:互联网 发布:macui设计软件 编辑:程序博客网 时间:2024/05/17 22:40

这里写图片描述
计算出平均值后,根据题意:“多退少补”,则应把学生分为两部分:多于平均数的和少于平均数的,分别计算其交易金额并应取其中较大的金额。
教训:一定要注意精度问题。

#include<cstdio>#include<iostream>#include<cmath>using namespace std;int n;int main(){    while (cin>>n)    {        if (n==0) break;        double a[1100]={0},sum=0.0;        for (int i=1;i<=n;++i)        {            cin>>a[i];            sum+=a[i];        }        double value=sum/n;        double up=0.0,down=0.0;        for (int i=1;i<=n;++i)        {            if (a[i]>value) up+=((int)(100*(a[i]-value))/100.00);//一定要注意精度            else down+=((int)(100*(value-a[i]))/100.00);        }        if (up>down) printf("$%.2lf\n",up);        else printf("$%.2lf\n",down);    }    return 0;}
0 0
原创粉丝点击