某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:   1) 五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤; 2) 四颗星红包,每

简介: 某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:   1) 五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤; 2) 四颗星红包,每

某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:


五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤;

四颗星红包,每人4000元,平均月绩效大于85件商品(>85),并且在民主评议中高于80分(>80)的员工均可获得;

三颗星红包,每人2000元,平均月绩效大于90件商品(>90)的员工均可获得;

二颗星红包,每人1000元,平均月绩效大于85件商品(>85)的外地员工均可获得;

一颗星红包,每人850元,民主评议高于80分(>80)的优秀员工均可获得;

 只要符合条件就可以获得年终红包,每个级别的红包没有获奖人数限制,每名员工可以同时获得多个级别的红包。

 现在给出若干员工的相关数据,请计算哪位员工获得的红包金额最高。

输入:

第一行数据用于输入员工总数X(1 <= X <= 100),接下来的X行每行是一名员工的数据,从左向右依次是姓名,平均月绩效,民主评议成绩,是否是优秀员工,是否是外地员工,以及是否年度满勤。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);平均月绩效和民主评议成绩都是0到100之间的整数(包括0和100);是否是优秀员工、是否是外地员工以及是否年度满勤均用布尔变量表示,Y表示是,N表示不是。每两个相邻数据项之间用一个空格分隔。

输出:

输出数据包括三行,第一行是获得红包金最多的员工姓名,第二行是这位员工获得的红包金额总数。如果有两名或两名以上的员工获得的奖金最多,输出他们之中在输入数据中出现最早的员工的姓名。第三行是这X名员工获得的红包金额的总数。

程序运行示例:

5

a 87 82 Y N N

b 88 78 N Y Y

c 92 88 N N N

d 83 87 Y N Y

e 90 88 Y N Y

e

12850

41550


#include<stdio.h>
#include<String.h>
#include<stdbool.h>
int calc(int jx,int py,bool yx,bool wd,bool mq)//1
{                
  int sum=0;
  if(jx>80 && mq) sum+=8000;
  if(jx>85&& py>80) sum+=4000;
  if(jx>90) sum+=2000;
  if(wd&&jx>85) sum+=1000;
  if(yx&&py>80) sum+=850;
  return sum;
}                
int main()
{                
  int m;
  scanf("%d",&m);
  int max_num=0,sum=0;
  char win[20];
  while(m--)//1
    {                
        int jx,py;
            char xm[20],yxs[3],wds[3],mqs[3];
      scanf("%s%d%d%s%s%s",xm,&jx,&py,yxs,wds,mqs);
      bool yx=strcmp(yxs,"Y"),wd=strcmp(wds,"Y"),mq=strcmp(mqs,"Y");
      int num=calc(jx,py,!yx,!wd,!mq);
      sum+=num;//1
      if(num>max_num) {
        max_num=num;
          strcpy(win,xm);
      }
    }
    printf("%s\n%d\n%d\n",win,max_num,sum);
  return 0;
}                
相关文章
|
5月前
银行定期存款利率,输入金额,输入年限,计算本息总额
银行定期存款利率,输入金额,输入年限,计算本息总额
61 0
|
算法 Java PHP
算法思考:红包金额生成
最近在整理过去的项目时,回顾了某年红包活动的项目,其中涉及红包金额计算的算法。近些年各家大厂举办的春节红包活动越来越完善,关于活动背后的整体设计介绍、分析、探讨层出不穷。本篇先不关注整体架构,选择红包金额的计算方法作为分析内容。 在当时的项目中,红包金额计算主要是采用了基于一些入参的随机数生成,并且生成的是单个红包金额,并未使用队列方式做预生成。所以再次回顾这个案例,其中其实还有很多可以玩味和深入思考的地方,在这里做一次思考总结。
103 0
|
18天前
企业发放的奖金根据利润提成
企业发放的奖金根据利润提成。
44 4
循环结构-慈善募捐——在全院10000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
循环结构-慈善募捐——在全院10000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
227 0
L1-051 打折 (5 分)
L1-051 打折 (5 分)
239 0
|
JavaScript 前端开发
使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额
使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额
453 0
使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额
|
开发者
社区积分周五超值兑 500积分即可兑换鸭舌帽
阿里云 x CHERRY联名机械键盘、阿里云Polo衫、阿里云鸭舌帽……积分就能兑换
社区积分周五超值兑 500积分即可兑换鸭舌帽
|
Web App开发
推广订单如何计算返利
每笔订单成功下单后,将会进入一个审核期,一般审核期为30天。审核期结束后则会进入可提取状态。
3136 0
关于招行信用卡还款日期的几个注意问题
一:招行信用卡还款日是账单日后第18天,你的信用卡帐单日为每月7号(固定的),那还款日即为账单日后第18天,即每月25号),就是说: 10月8日--11月7日的刷卡消费,会在11月7日出账,11月25日之前还款就可以。11月8日--12月7日的刷卡消费,会在12月7日出账,12月25日之前还款就可以。依次类推。 所以,账单日当天刷卡消费,免息期最短,只有18天(11月7日刷卡,11月2
1493 0
加拿大:疫情工资补贴延长至8月底,总计发放半年
5月15日,加拿大总理贾斯汀·特鲁多(Justin Trudeau)宣布“加拿大紧急工资补贴”(CEWS)将再延长三个月。