问题描述:
淘宝双11点赞PK集能量在那段时间很是火热。短短几天,有人懂得了合作双赢的诀窍,也有人为了骗赞勾心斗角,为了一点钱浪费了很多时间。但不管怎么样,终于到了最后瓜分战队能量的时刻了。每人分得的能量是与此人为战队贡献的点赞数的多少(占全队的比例)成正比,贡献的越多,获得的能量越多。假设一个战队有5个人。
输入:
第一行是战队的总能量整数n(100<=n<=100000)
第2~6行分别是每个人 为战队贡献的点赞数x。 (0<= x <= 100000)
输出:
输出占一行,分别输出每个人分得的能量(向下取整),中间用空格隔开
样例输入:
8000 50 30 10 10 0
样例输出:
4000 2400 800 800 0
提示:
若两个人贡献的点赞相等,则他们分得的能量值相等。
原因分析:
1.注意 贡献全是0的情况 则平分.
2. 例子中给的贡献点,不是按100%算的,只是贡献点,只是给的正好等于100.
解决方案:
#include<stdio.h>
#include<math.h>int main()
{int n,a[6],s=0,b[6];int i;scanf("%d",&n);for(i=1;i<=5;i++){scanf("%d",&a[i]);s+=a[i];}if(s==0)for(i=1;i<=5;i++)b[i]=n/5;elsefor(i=1;i<=5;i++)b[i]=n*(a[i]*1.0/s);for(i=1;i<=5;i++)printf("%d ",b[i]);
}