该属于简单题,但涉及一个取整或许有所麻烦,精确解应该是求出平均值,再求偏差绝对值和除 2。这里由于精确到分,求出平均值 mean,按分求出 ceil 和 floor 的值。然后对于每个人,若钱 < mean,求与 floor 偏差绝对值加到总和中,否则与 ceil 求。另外,记录偏差(不取绝对值总和),如果最后总偏差不为 0,要将总偏差绝对值加到总和中。最后输出总和一半即可。
#includeint main(){int n,i;double money[1005];double sum1,sum2,p,p1,p2;while(scanf("%d",&n)&&n){for(i=0,p=0;i sum2)printf("$%.2lf\n",sum1);elseprintf("$%.2lf\n",sum2);}return 0;}