C语言练习02

题目:企业发放的奖金根据利润提成。
利润(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,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成双精度浮点(double)型

方法一

#include<stdio.h>
int main()
{
    double i;
    double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    printf("你的净利润是:\n");
    scanf("%lf",&i);
    bonus1=100000*0.1;
    bonus2=bonus1+100000*0.075;
    bonus4=bonus2+200000*0.05;
    bonus6=bonus4+200000*0.03;
    bonus10=bonus6+400000*0.015;
    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 if(i>1000000) {
        bonus=bonus10+(i-1000000)*0.01;
    }
    printf("提成为:bonus=%lf",bonus);
 
    printf("\n");
}

方法二

#include <stdio.h>

int main() {
    double profit, bonus = 0;
    
    printf("请输入当月利润(单位:元): ");
    scanf("%lf", &profit);  // 读取输入的利润值

    // 分段计算奖金(从高到低处理超出部分)
    if (profit > 1000000) {
        bonus += (profit - 1000000) * 0.01;  // 超过100万的部分1%
        profit = 1000000;  // 剩余部分按更低区间计算
    }
    if (profit > 600000) {
        bonus += (profit - 600000) * 0.015;  // 60-100万部分1.5%
        profit = 600000;
    }
    if (profit > 400000) {
        bonus += (profit - 400000) * 0.03;   // 40-60万部分3%
        profit = 400000;
    }
    if (profit > 200000) {
        bonus += (profit - 200000) * 0.05;   // 20-40万部分5%
        profit = 200000;
    }
    if (profit > 100000) {
        bonus += (profit - 100000) * 0.075;  // 10-20万部分7.5%
        profit = 100000;
    }
    if (profit <= 100000) {
        bonus += profit * 0.1;  // 10万及以下部分10%
    }

    printf("应发放奖金总数为:%.2lf元\n", bonus);
    return 0;
}

本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客

(1)
何大锤的头像何大锤管理团队

相关推荐

  • 第二章数据结构线性表 – 带头结点的单链表

    一、单链表的定义和表示 – 带头结点的单链表 1、定义 单链表是由表头唯一确定,因此单链表可以用头指针的名字来命名 若头指针名是L,则把链表称为表L 2、单链表的存储结构 二、单链表基本操作的算法实现 – 带头结点的单链表 2.1 单链表的初始化 2.2 判断一个链表是否为空 一、带头结点的单链表代码实现 共6种函数代码 三、头插法创…

    3小时前
    200
  • 第二章数据结构线性表 – 单链表定义

    一、引言 1.1 知识框架 1.2 有了数组为什么还要链表? 在前面我们介绍过数组,数组中元素是存储在连续的内存位置在声明数组时,我们可以指定数组的大小,但这将限制数组可以存储的元素数量 例如我们声明的是 int arr[10],那么arr数组最多可以存储10个数据元素 但是我们事先不知道元素的大小呢? 我们该如何去做? 当然首先想到的是申请一个足够大的数组…

    6小时前
    200
  • 04 程序流程结构

    C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构 循环结构:依据条件是否满足,循环多次执行某段代码 顺序结构:程序按顺序执行,不发生跳转 选择结构:依据条件是否满足,有选择的执行相应功能 4.1 选择结构 4.1.1 if语句 作用:执行满足条件的语句 if语句的三种形式 示例: 注意:if条件表达式后不要加分号 示例: 示例: 嵌套if…

    3天前
    300
  • 初始C语言01

    0、什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MC…

    4天前
    000
  • 01 你好Python

    一、课件

    4天前
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
网站建设中ing......