当前位置: 首页 > news >正文

分钱单算法

分钱单算法

1.有6个员工,每个人的工资是2000到5000不等,并且有零头;
【1】2104
【2】2320
【3】3450
【4】4520.1
【5】4876.3
【6】4995.9
2.财务发现金,现求出共要发多少现金,100元、50元、20元、10元、5元、2元、1元、5角、2角、1角分别为多少?(分不记)
3.规则要求,按大面额现金最优发放。

具体的算法:

using  System;
using  System.Collections.Generic;
using  System.Text;

namespace  分钱单
{
    
class Program
    
{
        
//人民币民面额
        static float[] 面额 = new float[] { 100f, 50f, 20f, 10f, 5f, 2f, 1f, 0.5f0.2f0.1f };

        
static void Main(string[] args)
        
{
            
float[] 工资单 = new float[] { 2104f, 2320f, 3450f, 4520.1f4876.3f4995.9f };
            
int[] 面额计数 = 分钱单计算(工资单);
            
float 总金额 = 总金额计算(工资单);

            
for (int i = 0; i < 面额计数.Length; i++)
                Console.WriteLine(
"面额{0}元 共 {1}张", 面额[i], 面额计数[i]);
            Console.WriteLine(
"共{0}元", 总金额);

            Console.WriteLine(
"第一个人的工资:{0} ", 工资单[0]);
            面额计数 
= 分钱单计算(new float[] { 工资单[0] });
            
for (int i = 0; i < 面额计数.Length; i++)
                Console.WriteLine(
"面额{0}元 共 {1}张", 面额[i], 面额计数[i]);

            Console.ReadLine();
        }


        
static int floatHelper(float f)
        
{
            
return int.Parse((f * 100).ToString());
        }


        
static int[] 分钱单计算(float[] 金额)
        
{
            
int[] 面额计数器 = new int[] 0000000000 };

            
foreach (float tm in 金额)
            
{
                
int iTm = floatHelper(tm);
                
while (iTm > 0)
                    
for (int i = 0; i < 面额.Length; i++)
                        
if (iTm >= floatHelper(面额[i]))
                        
{
                            iTm 
-= floatHelper(面额[i]);
                            面额计数器[i] 
+= 1;
                            
break;
                        }

            }

            
return 面额计数器;
        }


        
static float 总金额计算(float[] 金额)
        
{
            
float totalMoney = 0.00f;
            
foreach (float tm in 金额)
                totalMoney 
+= tm;
            
return totalMoney;
        }

    }

}


转载于:https://www.cnblogs.com/Chinasf/archive/2007/11/13/958409.html

相关文章:

  • 《C和C++代码精粹》——1.16 语句声明
  • C#模拟提交表单 post-带附件的表单
  • 《HTML 5与CSS 3权威指南(第3版·下册)》——20.2 插入图像文件
  • 【精华转帖】刷新后重新定位到DataGrid操作行
  • 堆(HEAP)与栈(STACK)的区别
  • 《Cadence 16.6电路设计与仿真从入门到精通》——1.2 Cadence软件的安装  方块...
  • 《像计算机科学家一样思考Python》——3.2 类型转换函数
  • 在webform中清空多个控件的值的简单方法
  • 《Python Cookbook(第3版)中文版》——1.13 通过公共键对字典列表排序
  • Linux有问必答:如何强制在下次登录Linux时更换密码
  • 2007-12-25是个值得纪念的日子,我用纯C语言开发的空间首次上线测试!
  • 《SOA达人迷》—第1章1.7节理解SOA的不同之处
  • AJAX 类似电子表格的功能实现---(续采购授权系统)
  • 《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——第6章 空间数据管理 6.1 SDE及空间数据...
  • 《树莓派实战秘籍》——1.15 技巧15连接GPIO脚到面包板上
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [笔记] php常见简单功能及函数
  • axios 和 cookie 的那些事
  • create-react-app项目添加less配置
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • HTML5新特性总结
  • swift基础之_对象 实例方法 对象方法。
  • VUE es6技巧写法(持续更新中~~~)
  • 百度小程序遇到的问题
  • 彻底搞懂浏览器Event-loop
  • 从输入URL到页面加载发生了什么
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于springcloud Gateway中的限流
  • 猴子数据域名防封接口降低小说被封的风险
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 基于组件的设计工作流与界面抽象
  • 开源SQL-on-Hadoop系统一览
  • 看域名解析域名安全对SEO的影响
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 跳前端坑前,先看看这个!!
  • 网络应用优化——时延与带宽
  • 异常机制详解
  • 原生 js 实现移动端 Touch 滑动反弹
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • ionic异常记录
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # 安徽锐锋科技IDMS系统简介
  • (Git) gitignore基础使用
  • (附源码)计算机毕业设计ssm电影分享网站
  • (十一)图像的罗伯特梯度锐化
  • (算法二)滑动窗口
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)大道至简,职场上做人做事做管理
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net 使用ajax控件后如何调用前端脚本
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 使窗口永不获得焦点