首页 > 其他分享 >谭浩强 第5版 第4章 第10题

谭浩强 第5版 第4章 第10题

时间:2024-01-25 23:03:58浏览次数:34  
标签:case 10 提成 money 谭浩强 100000 rem

企业发放的奖金根据利润提成。(利润用“x”代替)
  • x ≤100000元的,奖金可提成10%
  • 100000< x ≤200000元部分,按7.5%提成
  • 200000< x ≤400000元部分,按5%提成
  • 400000< x ≤600000元部分,按3%提成
  • 600000< x ≤1000000元部分,按1.5%提成
  • 1000000< x 部分,按1%提成。
要求:
  1. 从键盘输入当月利润 x ,输出应发奖金总数
  2. 使用if语句编写程序。
  3. 使用switch语句编写程序。
#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

double Bonus(int i)
{
	int a = 0;
	double money = 0;
	int rem = 0;

	//看有几个10万
	//注意这里是向下取整,待会儿还要把余数进行计算
	a = i / 100000;
	rem = i % 100000;

	//把不同阶段的10万进行不同的奖金制度(最低档10万及以下,最高档100万以上)
	//因为金额是向下兼容的(20万必然包含10万)
  //所以我们中间不设置break,直接让它一直累积到底
	switch(a)
	{
	case 10:
		money += 100000 * 0.015;
	case 9:
		money += 100000 * 0.015;
	case 8:
		money += 100000 * 0.015;
	case 7:
		money += 100000 * 0.015;
		
	case 6:
		if (a >= 6)
		{
			money += rem * 0.015;
		}
		money += 100000 * 0.03;
	case 5:
		money += 100000 * 0.03;
	case 4:
		if (a >= 4 && a < 6)
		{
			money += rem * 0.03;
		}
		money += 100000 * 0.05;
	case 3:
		money += 100000 * 0.05;
	case 2:
		if (a >= 2 && a < 4)
		{
			money += rem * 0.05;
		}
		money += 100000 * 0.075;
	case 1:
		if (a >= 1 && a < 2)
		{
			money += rem * 0.075;
		}
		money += 100000 * 0.1;
		break;

	//利润不够10万时
	default:
		if (a < 1)
		{
			money += rem * 0.1;
		}
		break;
	}
	return money;
}

int main()
{
	int i = 0;
	double money = 0;

	printf("请输入本月的利润,单位为元:");

	//输入
	scanf("%d", &i);

	//计算奖金
	money = Bonus(i);

	//输出
	printf("本月应发奖金为%.2lf元\n", money);
	
	return 0;
}

标签:case,10,提成,money,谭浩强,100000,rem
From: https://blog.51cto.com/u_16509575/9420221

相关文章

  • 谭浩强 第5版 第5章 第10题
    题目有一个分数序列:求出这个数列的前20项之和。分析通过研究这组数列,我们可以看出来:除第一项外,后续每一项的分母都是前一项的分子,分子都是前一项的分母与分子之和。分析完之后,这道题就很简单了。代码实现:#include<stdio.h>intmain(){ doubletop=0.0;//分母 doubledow=......
  • 初中英语优秀范文100篇-069English Changed Me Deeply-英语深深地改变了我
    PDF格式公众号回复关键字:SHCZFW069记忆树1WithoutstudyingEnglish,Icanhardlyachievegreatersuccessinmystudies.翻译不学英语,我很难在学习上取得更大的成功简化记忆英语句子结构WithoutstudyingEnglish是介词短语作状语,表示“不学习英语”I(主语)+can(......
  • 2024年1月Java项目开发指南10:vite+Vue3项目创建
    新建项目安装routernpminstallvue-router在src下新建目录router,在目录下新建index.js在index.js里面配置路由import{createRouter,createWebHistory}from'vue-router';//定义路由constroutes=[//在这里配置路由];//创建路由实例constrouter=......
  • 谭浩强第5版 第4章 第9题
    #define_CRT_SECURE_NO_WARNINGS1////输入一个数//1.求出它是几位数//2.分别输出它的每一位//3.逆序输出它//如,//输入:123//输出:3位123321//#include<stdio.h>#include<math.h>intNum_word(inta){ //1个数最少有1位,所以i定义为1 inti=1; while......
  • 矩阵号:日入100+,八大提示词(Prompt)使用技巧
    最近在搞头条矩阵,发现自己的指令写的太烂了,一个指令将会决定你的写作质量。收益比较拉垮,50个号收益好的,也就这么几个号。于是我扒了一些提示词的操作技巧,分享一下自己的学习心得。先说理论知识,实操放文章最后。我们与GPT沟通交流时,可以用到乔哈里()沟通视窗模型,它分为......
  • 洛谷题单指南-模拟和高精度-P1045 [NOIP2003 普及组] 麦森数
    原题链接:https://www.luogu.com.cn/problem/P1045题意解读:要计算2p-1的位数和最后500位,实际上只需要计算2p,两者位数一致,前者比后者个位减1即可,且个位肯定不会是0,比较容易处理。解题思路:如果直接采用高精度乘法计算2p,p最大3.1*106,高精度所用数组最长大概9*105,一共最多计算3.......
  • ZCU106板卡 FMC接口 PCB设计注意事项
    1.无法使用JTAG问题描述:接上FMC转接板导致无法使用JTAG。原因:TDI和TDO通过一个引脚FMC_HPC1_PRSNT_M2C_B来控制通断,该引脚为高电平TDI和TDO连接在一起。FMC_HPC1_PRSNT_M2C_B默认有一个上拉电阻。但是FMC转接板一般会把H2引脚FMC_HPC1_PRSNT_M2C_B接地,导......
  • [Mac软件]DoubleTake for Mac(全景拼图软件) v2.6.12 (1086) 激活版本
    DoubleTakeforMac是一款功能强大的全景拼图软件,专为Mac用户设计,可以帮助用户轻松地将多张照片拼接成一张全景图像。这款软件具有直观的用户界面和丰富的功能,使得全景图像的制作变得简单快捷。本文将详细介绍DoubleTakeforMacv2.6.12激活版本的特点和功能。首先,DoubleTakefor......
  • 中国移动CMCC rax3000m免拆机刷OpenWRT uboot 20231027 NAND emmc MT7981
    1、100大洋购买的CMCCARX3000,不刷系统的时候也挺好用,就是无法满足特殊需求2、输入路由地址、192.168.10.1,进入路由管理界面,账号和密码,设备背面默认3、在高级设置->管理->配置管理->导出配置文件、得到:cfg_export_config_file.conf文件 4、在linux系统下,Ubuntu下进行文件配......
  • MySQL100题知识点
    https://testerhome.com/articles/349721、select*查询带来的不确定性2、SELECTemp_name,salary*12+COALESCE(bonus,0)FROMemployee;COALESCE函数用于将空值转换为03、SELECTemp_name,salary*12+COALESCE(bonus,0)AS"全年收入"FROMemployee;AS为......