设为首页收藏本站帮助中心
查看: 2273|回复: 0
收起左侧

易语言实现固定面值的钱币货币金额找零算法 整数型金额 单位:分 (返回逻辑型)

[复制链接]
发表于 2020-5-1 20:34:38 | 显示全部楼层 |阅读模式
1.png

  1. .版本 2

  2. .程序集 程序集1

  3. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  4. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  5. 返回 (0)  ' 可以根据您的需要返回任意数值

  6. .子程序 _临时子程序
  7. .局部变量 找零表, 整数型, , "0"
  8. .局部变量 金额, 整数型
  9. .局部变量 金额2, 整数型
  10. .局部变量 文本, 文本型

  11. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  12. 金额 = 88888  ' 888.88元

  13. 检查 (货币找零 (金额, 找零表))
  14. 文本 = 文本 + “100元:” + 到文本 (找零表 [1]) + #换行符
  15. 文本 = 文本 + “50元:” + 到文本 (找零表 [2]) + #换行符
  16. 文本 = 文本 + “20元:” + 到文本 (找零表 [3]) + #换行符
  17. 文本 = 文本 + “10元:” + 到文本 (找零表 [4]) + #换行符
  18. 文本 = 文本 + “5元:” + 到文本 (找零表 [5]) + #换行符
  19. 文本 = 文本 + “1元:” + 到文本 (找零表 [6]) + #换行符
  20. 文本 = 文本 + “0.5元:” + 到文本 (找零表 [7]) + #换行符
  21. 文本 = 文本 + “0.1元:” + 到文本 (找零表 [8]) + #换行符
  22. 文本 = 文本 + “0.01元:” + 到文本 (找零表 [9]) + #换行符
  23. 金额2 = 找零表 [1] × 10000 + 找零表 [2] × 5000 + 找零表 [3] × 2000 + 找零表 [4] × 1000 + 找零表 [5] × 500 + 找零表 [6] × 100 + 找零表 [7] × 50 + 找零表 [8] × 10 + 找零表 [9]
  24. 输出调试文本 (金额2)
  25. 输出调试文本 (#换行符 + 文本)
  26. .如果真 (金额2 ≠ 金额)
  27.     暂停 ()
  28. .如果真结束




  29. .子程序 货币找零, 逻辑型
  30. .参数 金额, 整数型, , 单位:分,必须大于等于1
  31. .参数 找零表, 整数型, 参考 数组, 计算结果通过此变量传出
  32. .局部变量 货币金额表, 整数型, 静态, "0"
  33. .局部变量 金额种数, 整数型
  34. .局部变量 计数, 整数型

  35. .如果真 (金额 ≤ 0)
  36.     返回 (假)
  37. .如果真结束
  38. .如果真 (取数组成员数 (货币金额表) = 0)
  39.     货币金额表 = { 10000, 5000, 2000, 1000, 500, 100, 50, 10, 1 }
  40. .如果真结束
  41. 金额种数 = 取数组成员数 (货币金额表)
  42. 重定义数组 (找零表, 假, 金额种数)
  43. .循环判断首 ()
  44.     .计次循环首 (金额种数, 计数)
  45.         .如果真 (金额 ≥ 货币金额表 [计数])
  46.             金额 = 金额 - 货币金额表 [计数]
  47.             找零表 [计数] = 找零表 [计数] + 1
  48.             跳出循环 ()
  49.         .如果真结束

  50.     .计次循环尾 ()
  51. .循环判断尾 (金额 ≠ 0)
  52. 返回 (真)

复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则