题目1:购物单

小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。

 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。

小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。

现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。

取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。

你的任务是计算出,小明最少需要取多少现金。

 

以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。

-----------------

****    180.90       88折

****     10.25       65折

****     56.14        9折

****    104.65        9折

****    100.30       88折

****    297.15        半价

****     26.75       65折

****    130.62        半价

****    240.28       58折

****    270.62        8折

****    115.87       88折

****    247.34       95折

****     73.21        9折

****    101.00        半价

****     79.54        半价

****    278.44        7折

****    199.26        半价

****     12.97        9折

****    166.30       78折

****    125.50       58折

****     84.98        9折

****    113.35       68折

****    166.57        半价

****     42.56        9折

****     81.90       95折

****    131.78        8折

****    255.89       78折

****    109.17        9折

****    146.69       68折

****    139.33       65折

****    141.16       78折

****    154.74        8折

****     59.42        8折

****     85.44       68折

****    293.70       88折

****    261.79       65折

****     11.30       88折

****    268.27       58折

****    128.29       88折

****    251.03        8折

****    208.39       75折

****    128.88       75折

****     62.06        9折

****    225.87       75折

****     12.89       75折

****     34.28       75折

****     62.16       58折

****    129.12        半价

****    218.37        半价

****    289.69        8折

--------------------

 

需要说明的是,88折指的是按标价的88%计算,而8折是按80%计算,余者类推。

特别地,半价是按50%计算。

 

请提交小明要从取款机上提取的金额,单位是元。

答案是一个整数,类似4300的样子,结尾必然是00,不要填写任何多余的内容。


思路:在这里用了重新分配输入流,输出流
System.setIn(new FileInputStrean("");
System.setOut(new PrintStream(new FileOntputStream("")))
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine){
}
import java.util.*;
import java.io.*;

public class dazhe {

	static double sum = 0;

	public static void main(String args[]) {
		try {
			System.setIn(new FileInputStream("E:/a.txt"));//重新分配标准输入流
			System.setOut(new PrintStream(new FileOutputStream("E:/b.txt")));
		} catch (Exception e) {
			System.err.println("Error Occurred.");//重新分配标准错误流
		}

		Scanner scan = new Scanner(System.in);
		String input;

		while (scan.hasNextLine()) {
			 input = scan.nextLine();
			int begin = input.indexOf(".");//索引下标从零0开始
			String a = input.substring(4, begin + 3);
			a = a.trim();
			String b = input.substring(begin + 3);
			b = b.trim();
			b = b.replace("折", "");
			b = b.replace("半价", "50");
			if (b.length() == 1)
				b = b + "0";
			System.out.println(a + "   " + b);
			sum = sum + Double.valueOf(a) * Integer.valueOf(b) * 0.01;
		}
		System.out.println(sum);

	}
}

使用 Vscode 写出解决以下问题的 HTML 文件: 题目1:超市购物总价计算 在超市购物时,每种商品有不同的单价和购买数量。给定商品单价数组[10,20,15,5]和对 应商品的购买数量数组[2,1,3,4]。编写一个函数,计算此次购物的总价。 题目2:月度气温统计 一个城市记录了一个月(按30天算)内每天的气温,存储在数组[22,23,25,21,20,24,26, 22, 23, 25, 27,28, 26, 24, 22,20, 19, 21, 23,25, 27,26, 24, 22, 21, 20, 22, 24,26, 28] 中。编写一 个函数,找出这个月中气温的最高值、最低值以及平均气温。 题目3:学生成绩等级划分 有一个班级10名学生的考试成绩数组[85,60,92,45,78,88,95,55,72,68]。编写一个函数, 将成绩划分为不同的等级:90分及以上为'A',80-89分为'B',70-79分为'C',60-69分 为'D',60分以下为'F',并返回一个存储等级的新数组。 题目4:每日步数目标达成统计 一个人记录了一周内每天的步数,存储在数组[5000,8000,6000,12000,4000,9000,7500] 中。假设每天的步数目标是7000步,编写一个函数,统计这一周内有多少天达成了目标。 题目5:活动参与人员分组 有一组人员参加活动,他们的编号存储在数组[1,2,3,4,5,6,7,8,9,10]中。要将他们分成 若干组,每组最多3人。编写一个函数,返回分组后的二维数组。 题目6:水电费计算 家庭记录了一个月内各项水电使用项目的单价和使用量。水费单价数组为[3,5,2](单位: 元/吨),对应水使用量数组为[10,5,8](单位:吨);电费单价数组为[0.5,0.8,1](单位: 元/度),对应电使用量数组为[200,100,50](单位:度)。编写一个函数,计算这个月水 电费的总费用。 题目7:工作日加班时长统计 员工记录了一个月(按22个工作日算)内每天的加班时长(单位:小时),存储在数组[1, 0,2,1,0,3,0,1,2,0,1, 0,2,3,0,1,0,2,1, 0,3,1] 中。公司规定加班时长达到2小时及以上 会有加班补贴。编写一个函数,统计这个月有多少个工作日能获得加班补贴,以及这些有补 贴工作日的总加班时长。
最新发布
05-05
<think>好的,我现在需要帮助用户解决在VS Code中使用HTML实现七个功能的问题。首先,用户提到了七个不同的功能,每个功能都涉及前端开发。我需要逐一考虑每个功能的具体实现方法,并确保使用HTML、CSS和JavaScript的组合来完成。 首先,用户想实现超市购物总价计算。这个功能需要输入商品单价和数量,然后计算总价。应该使用HTML表单元素来获取输入,用JavaScript来处理计算。可能需要使用事件监听器,比如点击按钮时触发计算函数。同时,需要确保输入的是数字,可能需要添加验证。 接下来是月度气温统计。这里可能需要用户输入每日气温,然后统计平均值、最高和最低温度。可以用数组来存储输入的气温数据,然后用JavaScript计算统计值。可能需要动态添加输入字段,或者让用户输入多个数值,比如用逗号分隔。 学生成绩等级划分需要根据分数判断等级。这同样需要输入分数,然后使用条件语句来确定等级。界面设计上可能需要一个输入框和一个显示结果的区域。 每日步数目标达成统计需要用户输入每日步数和目标,然后比较是否达标。这里可能需要比较输入值与目标值,并显示结果。如果用户需要记录多日的数据,可能需要更复杂的结构,比如表格来显示每天的情况。 活动参与人员分组可能需要将名单随机分组。需要处理字符串输入,比如用逗号分隔的名字,然后分割成数组,随机排序并分成小组。这涉及到数组操作和随机数生成。 水电费计算涉及不同费率,比如阶梯电价或水价。需要根据用量计算费用,可能涉及条件判断不同的费率区间。输入用量后,JS函数根据规则计算总费用。 工作日加班时长统计可能需要记录每天的加班时间,并计算总和。如果涉及到不同日期的输入,可能需要多个输入字段或解析时间字符串,然后转换为小时数进行累加。 接下来,我需要考虑如何在HTML中组织这些功能。每个功能可能需要一个独立的section,包含输入字段、按钮和结果显示区域。使用CSS进行布局,确保页面整洁。JavaScript部分需要为每个功能编写独立的函数,避免变量冲突。 还需要注意输入验证,比如确保用户输入的是有效数字,处理空值或非数字输入的情况。对于动态添加的元素,比如气温输入,可能需要更复杂的JS代码,但用户示例中使用的是逗号分隔,这样处理起来更简单。 考虑到用户可能不熟悉前端开发,代码应尽量简洁,避免使用复杂框架。每个功能都给出基本实现,用户可以在此基础上扩展。例如,超市购物可以添加多个商品,但示例中简化为一商品,用户可以自行修改为多商品。 最后,测试每个功能的代码,确保在VS Code中保存为HTML文件后,浏览器中能正确运行。可能需要指导用户如何运行HTML文件,比如使用Live Server扩展实时预览。 总结:每个功能需要单独的HTML结构、CSS样式和JS逻辑。重点在于获取用户输入,处理数据,显示结果。代码结构清晰,方便用户理解和修改。</think>我将为您提供可运行的基础框架代码,并针对每个功能给出实现思路和代码示例。以下是整合后的HTML文件实现方案: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>多功能计算器</title> <style> .container { margin: 20px; padding: 15px; border: 1px solid #ccc; } .result { color: #2c3e50; font-weight: bold; } </style> </head> <body> <!-- 1. 超市购物总价计算 --> <div class="container"> <h3>1. 超市购物总价计算</h3> <input type="number" id="price" placeholder="单价"> <input type="number" id="quantity" placeholder="数量"> <button onclick="calculateTotal()">计算总价</button> <p class="result" id="totalResult"></p> </div> <!-- 2. 月度气温统计 --> <div class="container"> <h3>2. 月度气温统计</h3> <input type="text" id="temperatures" placeholder="输入每日气温(用逗号分隔)"> <button onclick="analyzeTemp()">统计分析</button> <p class="result" id="tempResult"></p> </div> <!-- 3. 学生成绩等级划分 --> <div class="container"> <h3>3. 学生成绩等级划分</h3> <input type="number" id="score" placeholder="输入分数(0-100)"> <button onclick="gradeEvaluation()">评定等级</button> <p class="result" id="gradeResult"></p> </div> <!-- 4. 每日步数统计 --> <div class="container"> <h3>4. 每日步数目标达成统计</h3> <input type="number" id="steps" placeholder="今日步数"> <input type="number" id="target" placeholder="目标步数" value="10000"> <button onclick="checkSteps()">检查达标</button> <p class="result" id="stepsResult"></p> </div> <!-- 5. 活动分组 --> <div class="container"> <h3>5. 活动参与人员分组</h3> <textarea id="participants" placeholder="输入人员名单(用逗号分隔)"></textarea> <input type="number" id="groupSize" placeholder="每组人数" value="5"> <button onclick="groupPeople()">生成分组</button> <div class="result" id="groupResult"></div> </div> <!-- 6. 水电费计算 --> <div class="container"> <h3>6. 水电费计算</h3> <input type="number" id="waterUsage" placeholder="用水量(吨)"> <input type="number" id="elecUsage" placeholder="用电量(度)"> <button onclick="calculateUtility()">计算费用</button> <p class="result" id="utilityResult"></p> </div> <!-- 7. 加班统计 --> <div class="container"> <h3>7. 工作日加班时长统计</h3> <input type="number" id="overtime1" placeholder="周一加班小时数"> <input type="number" id="overtime2" placeholder="周二加班小时数"> <button onclick="sumOvertime()">计算总时长</button> <p class="result" id="overtimeResult"></p> </div> <script> // 1. 购物总价计算 function calculateTotal() { const price = parseFloat(document.getElementById('price').value); const quantity = parseInt(document.getElementById('quantity').value); document.getElementById('totalResult').innerHTML = `总价:¥${(price * quantity).toFixed(2)}`; } // 2. 气温统计分析 function analyzeTemp() { const temps = document.getElementById('temperatures').value .split(',').map(t => parseFloat(t)); const max = Math.max(...temps); const min = Math.min(...temps); const avg = temps.reduce((a,b) => a+b)/temps.length; document.getElementById('tempResult').innerHTML = `最高:${max}℃ | 最低:${min}℃ | 平均:${avg.toFixed(1)}℃`; } // 3. 成绩等级划分 function gradeEvaluation() { const score = parseInt(document.getElementById('score').value); let grade = ''; if(score >= 90) grade = 'A'; else if(score >= 80) grade = 'B'; else if(score >= 70) grade = 'C'; else if(score >= 60) grade = 'D'; else grade = 'E'; document.getElementById('gradeResult').innerHTML = `成绩等级:${grade}`; } // 4. 步数达标检查 function checkSteps() { const steps = parseInt(document.getElementById('steps').value); const target = parseInt(document.getElementById('target').value); document.getElementById('stepsResult').innerHTML = `${steps >= target ? '✅ 达标' : '❌ 未达标'} (完成率:${(steps/target*100).toFixed(1)}%)`; } // 5. 人员分组 function groupPeople() { const people = document.getElementById('participants').value.split(','); const groupSize = parseInt(document.getElementById('groupSize').value); const shuffled = [...people].sort(() => Math.random() - 0.5); let output = ''; for(let i=0; i<shuffled.length; i+=groupSize){ const group = shuffled.slice(i, i+groupSize); output += `第${(i/groupSize)+1}组:${group.join('、')}<br>`; } document.getElementById('groupResult').innerHTML = output; } // 6. 水电费计算 function calculateUtility() { const water = parseInt(document.getElementById('waterUsage').value); const elec = parseInt(document.getElementById('elecUsage').value); const waterRate = water <= 20 ? 3.5 : 4.8; // 阶梯水价 const elecRate = elec <= 200 ? 0.6 : 0.8; // 阶梯电价 const total = water*waterRate + elec*elecRate; document.getElementById('utilityResult').innerHTML = `水费:¥${(water*waterRate).toFixed(2)} | 电费:¥${(elec*elecRate).toFixed(2)} | 合计:¥${total.toFixed(2)}`; } // 7. 加班统计 function sumOvertime() { const day1 = parseFloat(document.getElementById('overtime1').value) || 0; const day2 = parseFloat(document.getElementById('overtime2').value) || 0; document.getElementById('overtimeResult').innerHTML = `总加班时长:${day1 + day2} 小时`; } </script> </body> </html> ``` 实现要点说明: 1. **超市购物计算**:通过`input`获取单价和数量,使用乘法计算总价,注意保留两位小数[^3] 2. **气温统计**:使用字符串分割和`map`转换数据类型,通过Math对象计算极值和平均值[^2] 3. **成绩等级**:采用条件判断语句实现等级划分逻辑,使用百分制评估标准[^4] 4. **步数统计**:对比实际步数与目标值,动态显示完成百分比和达标状态 5. **人员分组**:使用随机排序算法实现公平分组,支持自定义分组人数[^1] 6. **水电费计算**:实现阶梯计价逻辑,不同用量区间使用不同费率标准 7. **加班统计**:累加多个输入框的值,处理空值情况避免NaN错误 使用说明: 1. 在VS Code中新建文件保存为`.html`格式 2. 安装Live Server扩展实时预览 3. 所有功能模块独立运行,支持数字输入验证 4. 样式采用响应式设计,自动适应不同屏幕尺寸
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值