html设计找零钱最佳组合假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1)四种
时间: 2024-05-03 12:22:12 浏览: 158
面值,请你设计一个HTML页面,让顾客输入商品价格和付款金额,然后显示最佳的找零组合。
HTML代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>找零计算器</title>
</head>
<body>
<h1>找零计算器</h1>
<form>
<label for="price">商品价格:</label>
<input type="number" id="price" name="price" min="1" max="100" required>
<br>
<label for="payment">付款金额:</label>
<input type="number" id="payment" name="payment" min="1" max="100" required>
<br>
<button type="button" onclick="calculate()">计算找零</button>
</form>
<p id="result"></p>
<script>
function calculate() {
var price = document.getElementById("price").value;
var payment = document.getElementById("payment").value;
var change = payment - price;
var n50 = Math.floor(change / 50);
var n10 = Math.floor((change - n50 * 50) / 10);
var n5 = Math.floor((change - n50 * 50 - n10 * 10) / 5);
var n1 = change - n50 * 50 - n10 * 10 - n5 * 5;
var result = "找零:" + change + "元,最佳组合为:";
if (n50 > 0) {
result += n50 + "张50元,";
}
if (n10 > 0) {
result += n10 + "张10元,";
}
if (n5 > 0) {
result += n5 + "张5元,";
}
if (n1 > 0) {
result += n1 + "张1元。";
}
document.getElementById("result").innerHTML = result;
}
</script>
</body>
</html>
```
解释:
1. HTML页面包含一个表单,用户输入商品价格和付款金额。
2. 当用户点击“计算找零”按钮时,调用calculate()函数进行计算。
3. calculate()函数获取商品价格和付款金额,计算出找零金额和各种面值的张数。
4. 最后将计算结果显示在页面上。
注意事项:
1. 商品价格和付款金额的输入框设置了最小值为1,最大值为100,且必填。
2. JavaScript代码中用Math.floor()函数进行向下取整操作,确保找零张数为整数。
3. 在计算结果中,只显示存在的面值张数,不存在的面值不显示。
阅读全文