分钱单算法

简介:

分钱单算法

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;
        }

    }

}






本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2007/11/13/958409.html,如需转载请自行联系原作者
相关文章
|
5天前
|
人工智能 运维 安全
|
3天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
484 12
|
10天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
850 109
|
4天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。