分配奖金问题

有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);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容