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

如皋建设工程局网站wordpress 图片下一页

如皋建设工程局网站,wordpress 图片下一页,sql数据库环境网站搭建教程,wordpress安装的要求2024华为OD机试#xff08;E卷D卷#xff09;最新题库【超值优惠】Java/Python/C合集 题目描述 记账本上记录了若干条多国货币金额#xff0c;需要转换成人民币分(fen)#xff0c;汇总后输出。 每行记录一条金额#xff0c;金额带有货币单位#xff0c;格式为数字单位E卷D卷最新题库【超值优惠】Java/Python/C合集 题目描述 记账本上记录了若干条多国货币金额需要转换成人民币分(fen)汇总后输出。 每行记录一条金额金额带有货币单位格式为数字单位可能是单独元或者单独分或者元与分的组合。 要求将这些货币全部换算成人民币分(fen)后进行汇总汇总结果仅保留整数小数部分舍弃。 元和分的换算关系都是1:100如下: 1CNY100fen(1元100分)1HKD100cents(1港元100港分)1JPY100sen(1日元100仙)1EUR100eurocents(1欧元100欧分)1GBP100pence(1英镑100便士) 汇率如下表 CNYJPYHKDEURGBP10018251231412 即100CNY1825JPY123HKD14EUR12GBP 输入描述 第一行输入为NN表示记录数。0N100 之后N行每行表示一条货币记录且该行只会是一种货币。 输出描述 将每行货币转换成人民币分(fen)后汇总求和只保留整数部分 输出格式只有整数数字不带小数不带单位。 示例1 输入: 1 100CNY输出: 10000说明 100CNY转换后是10000fen所以输出结果为10000题解 该题目属于 字符串处理 和 哈希映射 结合的类型问题。核心思想是通过字符串解析和单位转换将不同货币转换为统一的人民币分(fen)然后进行汇总。它可以归为 字符串处理 和 数学计算 类问题。 解题思路 解析输入对于每一行输入的货币记录我们首先需要从字符串中提取出金额和货币单位。货币单位可能是元CNY、JPY等或者分fen、cents等因此需要精确提取。建立汇率表使用哈希映射 (在不同语言中分别为 map、HashMap 或 dict) 来存储每种货币单位相对于人民币分的换算关系。转换为人民币分根据提取的货币单位通过汇率表将其转换为人民币分(fen)。汇总求和处理完所有货币记录后对其进行汇总只保留整数部分舍弃小数。输出结果最终结果只需要输出整数形式的总和。 代码大致描述 初始化汇率表将所有相关货币的单位转换汇率存入一个哈希映射例如CNY: 100.0JPY: (100 / 1825.0) * 100。解析字符串遍历每一行货币记录提取出货币单位和数值。查找汇率并进行转换利用提取的货币单位从哈希映射中查找对应汇率并将货币值转换为人民币分。结果汇总将转换后的分值进行累加输出结果。 时间复杂度 时间复杂度为 O(N)其中 N 是货币记录的条数。因为每一条记录的处理时间为常数时间级别包括字符串的解析和汇率的查找。 空间复杂度 空间复杂度为 O(1)除去输入数据以外哈希映射的大小是固定的汇率表中只有少量固定货币单位。 Java import java.util.HashMap; import java.util.Map; import java.util.Scanner; /*** author code5bug*/ public class Main {// 使用静态常量定义汇率private static final double JPY_RATE 1825.0;private static final double HKD_RATE 123.0;private static final double EUR_RATE 14.0;private static final double GBP_RATE 12.0;// 初始化汇率public static void init(MapString, Double exchange) {exchange.put(fen, 1.0);exchange.put(CNY, 100.0);exchange.put(JPY, (100.0 / JPY_RATE) * 100);exchange.put(sen, (100.0 / JPY_RATE));exchange.put(HKD, (100.0 / HKD_RATE) * 100);exchange.put(cents, (100.0 / HKD_RATE));exchange.put(EUR, (100.0 / EUR_RATE) * 100);exchange.put(eurocents, (100.0 / EUR_RATE));exchange.put(GBP, (100.0 / GBP_RATE) * 100);exchange.put(pence, (100.0 / GBP_RATE));}// 处理输入的字符串计算结果public static double processInput(String line, MapString, Double exchange) {int len line.length();double result 0;int j 0;while (j len) {int num 0;StringBuilder unit new StringBuilder();// 解析数字部分while (j len Character.isDigit(line.charAt(j))) {num num * 10 (line.charAt(j) - 0);j;}// 解析货币单位部分while (j len Character.isLetter(line.charAt(j))) {unit.append(line.charAt(j));j;}// 检查货币单位是否在 map 中if (exchange.containsKey(unit.toString())) {result num * exchange.get(unit.toString());} else {System.err.println(Error: Unknown currency unit: unit);return 0; // 遇到未知货币单位时可以处理错误}}return result;}public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();scanner.nextLine(); // 读取换行符MapString, Double exchange new HashMap();init(exchange);for (int i 0; i n; i) {String line scanner.nextLine();double result processInput(line, exchange);System.out.println((int) result); // 输出时强制转换为整型}scanner.close();} } 使用 HashMap 代替 unordered_map在 Java 中HashMap 提供与 unordered_map 类似的功能效率也较高。 字符串处理Java 使用 StringBuilder 来构建字符串适合在循环中逐个添加字符的场景。 输入处理使用 Scanner 类处理输入数据通过 nextLine() 和 nextInt() 来读取输入。 静态常量Java 中用 static final 来定义常量并用全大写字母表示常量名。 错误处理用 System.err.println() 输出错误消息并在遇到未知货币单位时返回 0。 Python def init_exchange():# 初始化汇率字典exchange {fen: 1.0,CNY: 100.0,JPY: (100.0 / 1825.0) * 100,sen: (100.0 / 1825.0),HKD: (100.0 / 123.0) * 100,cents: (100.0 / 123.0),EUR: (100.0 / 14.0) * 100,eurocents: (100.0 / 14.0),GBP: (100.0 / 12.0) * 100,pence: (100.0 / 12.0)}return exchangedef process_input(line, exchange):length len(line)result 0i 0while i length:num 0unit # 解析数字部分while i length and line[i].isdigit():num num * 10 int(line[i])i 1# 解析货币单位部分while i length and line[i].isalpha():unit line[i]i 1# 检查货币单位是否在字典中if unit in exchange:result num * exchange[unit]else:print(fError: Unknown currency unit: {unit})return 0 # 遇到未知货币单位时可以处理错误return resultdef main():# 输入记录数n int(input())# 初始化汇率exchange init_exchange()# 处理每条记录for _ in range(n):line input()result process_input(line, exchange)print(int(result)) # 输出时转换为整型if __name__ __main__:main() init_exchange()这个函数初始化一个字典存储不同货币单位到人民币分的汇率。 process_input()这个函数处理输入的每一行将数字和货币单位解析出来并根据字典中的汇率进行计算。最后返回总计的转换结果。如果遇到未识别的货币单位会输出错误并返回 0。 main()主函数先从输入中获取要处理的记录数 n然后读取每条记录并进行处理最后输出结果。 C #include cctype // for isdigit, isalpha #include iostream #include string #include unordered_mapusing namespace std;// 使用 constexpr 定义常量以提高效率和可读性 constexpr double JPY_RATE 1825.0; constexpr double HKD_RATE 123.0; constexpr double EUR_RATE 14.0; constexpr double GBP_RATE 12.0;void init(unordered_mapstring, double exchange) {// 存储每种货币相对于 fen 的汇率exchange[fen] 1.0;exchange[CNY] 100.0;exchange[JPY] (100.0 / JPY_RATE) * 100;exchange[sen] (100.0 / JPY_RATE);exchange[HKD] (100.0 / HKD_RATE) * 100;exchange[cents] (100.0 / HKD_RATE);exchange[EUR] (100.0 / EUR_RATE) * 100;exchange[eurocents] (100.0 / EUR_RATE);exchange[GBP] (100.0 / GBP_RATE) * 100;exchange[pence] (100.0 / GBP_RATE); }double process_input(const string line, const unordered_mapstring, double exchange) {int len line.size();double result 0;for (int j 0; j len;) {int num 0;string unit;// 解析数字部分while (j len isdigit(line[j])) {num num * 10 (line[j] - 0);j;}// 解析货币单位部分while (j len isalpha(line[j])) {unit line[j];j;}// 检查货币单位是否在 map 中if (exchange.find(unit) ! exchange.end()) {result num * exchange.at(unit);} else {cerr Error: Unknown currency unit: unit endl;return 0; // 遇到未知货币单位时可以处理错误}}return result; }int main() {int n;cin n;unordered_mapstring, double exchange;init(exchange);for (int i 0; i n; i) {string line;cin line;double result process_input(line, exchange);cout static_castint(result) endl; // 输出时强制转换为整型}return 0; } 整理题解不易 如果有帮助到您请给点个赞 ‍❤️‍ 和收藏 ⭐让更多的人看到。
http://www.eeditor.cn/news/125852/

相关文章:

  • 在线旅游网站昆山规划建设局网站
  • 建设银行贵金属网站常用的设计师网站
  • 电影网站制作教程及步骤聚财洋气三个字公司名字
  • 毕设做网站需要什么技术准备网络营销策划的内容
  • 注册公司域名后如何做网站wordpress盲注
  • 快速网站模板公司网页传奇游戏排行榜九点开服
  • 视频上传下载网站建设网站管理公司
  • 南屏网站建设桥梁建设工程网站
  • 普洱市交通建设集团官方网站怎样推广小程序
  • 成都 企业 网站制作新乡商城网站建设哪家好
  • 网站建站免费visual studio怎么做网页
  • 免费ppt模板网站哪个好用网站代理违法吗
  • 网站服务器的选择网站开发公司需要什么资质
  • 门户网站开发视频教学cdn wordpress
  • 织梦网站栏目调用网站建设一般报价多少
  • 达州网站开发qinsanw哪个旅游网站做的最好
  • 我要建立网站wordpress全站开启ssl
  • 个人网站模板 php中国建设监理网站
  • 团员建设网站安陆网站制作公司
  • 个人网站备案需要几天注册网站要语音验证码的有哪些
  • 怎样看出一个网站是那个公司做的中国排名前十的建筑公司
  • 网站建设石家庄快优wordpress查询码
  • 建站哪家好 discuzui设计网站建设是什么
  • 做网站找个人还是找公司江苏大汉建设实业集团网站
  • 怎么成立网站网站关键词优化排名公司
  • 沙井网站优化如何看网站的浏览量
  • 福田公司董事长seo是指什么职位
  • 公共法律服务网站建设总结棋牌app开发公司
  • 太原网站制作多少钱新手可以自己建网站吗
  • 三合一网站平台python 自己做网站