分配奖金问题

2018-11-03  本文已影响0人  Autulea

有2000元奖金,10个人来分。每人先写出自己期望得到的奖金,最接近所有人期望奖金的平均值的一人(或多人)平分这笔奖金。输出每个人的序号跟他们的预期奖金,输出获得奖金的人的序号和他分得的奖金。
例如:2人的期望奖金为200,3人的期望奖金为400,5人的期望奖金为500,那么期望奖金为400的3人分得奖金666元。

#include <stdio.h>
#include <math.h>
#define N 10
int main() {
    int a[N],b[N],c,i,j,k,l;
    l=0;
    for(i=0;i<N;i++){
        scanf("%d",&a[i]);}                     //输入每人的期望
    c=(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])/10;
    for(i=0;i<N;i++){
        b[i]=fabs(a[i]-c);
    }                                            //计算差值
    for(i=0;i<N;i++){
        if(b[i]<b[i+1]) k=i;
    }                                          //find
    printf("The person who has the nearest number is(are) ");
    for(i=1;i<N;i++){
        if(b[i]==b[k]){
            l++;
            printf("No.%d,",i+1);
        }
    }
    printf("\n everyone gets %d",2000/l);
}
上一篇 下一篇

猜你喜欢

热点阅读