前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言刷题随记 ——奖金分配

C语言刷题随记 ——奖金分配

作者头像
繁依Fanyi
发布2023-05-07 17:32:11
4430
发布2023-05-07 17:32:11
举报
文章被收录于专栏:繁依Fanyi 的专栏
在这里插入图片描述
在这里插入图片描述

题目

1. 题目描述

企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%;

利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可提成 7.5%;

20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;

60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润 I,求应发放奖金总数?

在这里插入图片描述
在这里插入图片描述

2. 程序分析

请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

思路

可以尝试用数轴,脑图等工具把文中题目分成几个部分,然后使用 if 语句对各种不同的情况分开讨论。

在这里插入图片描述
在这里插入图片描述

题解

代码语言:javascript
复制
#include <stdio.h>

int main()
{
    long int i;
    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    scanf("%ld",&i);
    bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
    bonus4=bonus2+200000*0.5;
    bonus6=bonus4+200000*0.3;
    bonus10=bonus6+400000*0.15;

    if(i<=100000) bonus=i*0.1;
    else if(i<=200000) bonus=bonus1+(i-100000)*0.075;
    else if(i<=400000) bonus=bonus2+(i-200000)*0.05;
    else if(i<=600000) bonus=bonus4+(i-400000)*0.03;
    else if(i<=1000000) bonus=bonus6+(i-600000)*0.015;
    else bonus=bonus10+(i-1000000)*0.01;

    printf("bonus=%d",bonus);

    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
    • 1. 题目描述
      • 2. 程序分析
      • 思路
      • 题解
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档