112. 密码分析题目问题描述密码分析学中常常需要统计字符出现的频度。给定若干行短文要求按字符出现的频度由高到低输出当两个字符出现的频度相同时按字符大小的顺序输出。注意只需要统计英文字母的频度非英文字母一律忽略。输入说明输入由多组数据组成。每组数据由一行长度不超过100的字符串组成不区分字母大小写如A与a看作同一个字母。输出说明对每组输入数据都有若干行输出每行有两个输出数据第一个数据为某个大写字母第二个数据为该字母出现的频度两个数据之间有一个空格。输出顺序按字母出现的频度由高到低输出当两个字母的频度相同时按字母大小的顺序输出。两组输出之间有一行空行。个人总结思路使用 getline 按行读取数据确保能读入包含空格的完整行。利用大小为 26 的整型数组作为哈希表统计频次。遍历字符串时需使用 isalpha 过滤非字母字符并用 toupper 统一转换为大写进行映射。将统计结果存入结构体包含字符和频次使用 sort 进行排序。排序规则需自定义比较函数优先按频次从大到小排序若频次相同则按字符 ASCII 码从小到大排序。使用标志位控制组间空行确保仅在非第一组数据输出前打印换行符。易错点输入读取由于每组数据是一行且可能包含空格不能使用 cin string否则会在空格处截断必须使用 getline。排序条件在自定义 cmp 函数中必须显式处理频次相等的情况return a.c b.c否则相同频度的字母顺序可能混乱导致答案错误。格式控制题目要求“两组输出之间有一行空行”意味着最后一组输出后不能有多余空行。如果在循环末尾无条件输出空行会导致格式错误PE应在除第一组外的每组输出前打印空行。代码#include bits/stdc.h using namespace std; struct Node{ char c; int cnt; }; bool cmp(const Node a, const Node b) { if (a.cnt ! b.cnt) return a.cnt b.cnt; return a.c b.c; } int main() { ios::sync_with_stdio(0); cin.tie(0); string line; bool f true; while (getline(cin,line)) { // 统计 int freq[26] {0}; for (char x : line) { if (isalpha(x)) freq[toupper(x) - A]; } // 转存 vectorNode v; for (int i 0; i 26; i) { if (freq[i] 0) { v.push_back({(char)(i A), freq[i]}); } } // 排序 sort(v.begin(),v.end(),cmp); // 输出 if (!f) cout \n; f false; for (int i 0; i v.size(); i) { cout v[i].c v[i].cnt \n; } } return 0; }113. 学生信息题目问题描述你的程序需要从标准输入设备通常为键盘中输入N1≤N≤10个学生的信息每项信息包含该学生的编号、姓名、性别、年龄、成绩共五项按成绩进行排序然后按成绩从低到高输出输入保证没有相同的成绩。输入说明首先输入一个N1≤N≤10代表有几条学生记录接下来N行每行包含一条学生记录按照编号、姓名、性别、年龄、成绩的顺序给出数据项之间以空格分隔除了这五项之间的4个空格外无其他空格。所有数据前后没有多余的空行两个学生的记录之间也没有多余的空行。输出说明你的程序需要对学生的成绩按升序排序后输出所有学生的信息每行一个学生的信息同一个学生的信息之间以一个空格分隔。所有数据前后没有多余的空行在行首和行尾没有多余的空格。个人总结知识点 - 结构体重载小于号在 OJ 环境下重载小于号最大的优势在于它能直接适配 STL 容器。std::sort: 自动调用重载的。std::priority_queue: 默认是大根堆基于比较可以直接放入结构体。std::set / std::map: 需要以此建立红黑树索引必须有比较规则重载后可以直接声明setNode st;。代码模板struct Node { int x, y; // 这里的 const 和引用 最好加上防止拷贝开销符合 OJ 高效习惯 bool operator (const Node t) const { if (x ! t.x) return x t.x; // 主要关键字 return y t.y; // 次要关键字 } }; // 使用 // sort(a 1, a 1 n); // priority_queueNode pq;知识点 - 遍历容器结构体假设结构体和 vector 定义如下struct Node { int x, y; }; vectorNode arr;1. 推荐写法最常用这种写法代码最短。建议加上引用符这样可以避免复制结构体在数据量大时能防止超时。for (auto it : arr) { cout it.x it.y \n; }2. 下标遍历特殊格式需求如果题目对输出格式有严格要求例如每行输出一个数据或者数据之间用空格分隔但行末不能有多余空格通常使用下标遍历更好控制。场景输出中间用空格分隔最后一个数后面不能有空格for (int i 0; i arr.size(); i) { if (i 0) cout ; // 只要不是第一个就在前面打印空格 cout arr[i].x arr[i].y; } cout \n;代码#include bits/stdc.h using namespace std; struct Student{ int id; string name; string gender; int age; int score; bool operator (const Student other) const { return score other.score; } }; int main() { ios::sync_with_stdio(0); cin.tie(0); int N; cin N; vectorStudent v; while (N--) { Student stu; cin stu.id stu.name stu.gender stu.age stu.score; v.push_back(stu); } sort(v.begin(),v.end()); for (auto stu : v) { cout stu.id stu.name stu.gender stu.age stu.score \n; } return 0; }114. 成绩统计题目问题描述每次通过键盘输入5位学生如下表所示的数据然后计算并输出每位学生的平均成绩再输出数学成绩最高的学生的姓名及成绩。姓名数学成绩政治成绩John8889Jack9086Marry7680Kite5558Jane5668输入说明从键盘输入5位学生如下表所示的数据姓名数学成绩政治成绩John8889Jack9086Marry7680Kite5558Jane5668输入信息包括5行每行包括姓名、数学成绩、政治成绩。输出说明首先输出5行每行包括学生的姓名和平均成绩平均成绩为数学成绩加政治成绩整除2即丢掉小数部分。第6行为数学成绩最高的学生的姓名及成绩。个人总结易错点这里不需要排序不要画蛇添足。代码#include bits/stdc.h using namespace std; struct Student{ string name; int math; int poli; int avg; }; int main() { ios::sync_with_stdio(0); cin.tie(0); // 输入 Student stus[5]; int max_id 0; int max_sc 0; for (int i 0; i 5; i) { string name; int math,poli,avg; cin name math poli; avg (math poli) / 2; stus[i] {name,math,poli,avg}; // 更新数学最高分 if (max_sc math) { max_sc math; max_id i; } } // 输出 for (auto stu : stus) { cout stu.name stu.avg \n; } cout stus[max_id].name stus[max_id].math stus[max_id].poli \n; return 0; }计算机英语翻译练习Personal computers can be classified as desktop, portable, or mobile devices. The lines thatdelineatethese categories are sometimes a bitblurry, but the general characteristics of each category are described below.个人电脑可分为台式机、便携式或移动设备。划分这些类别的界限有时比较模糊但下文描述了各类别的一般特征。1.DesktopsA desktop computer fits on a desk and runs on power from an electrical walloutlet. The keyboard is typically a separate component connected to themain unitby acable. A desktop computer can be housed in averticalcase or in ahorizontalcase. In some modern desktops, calledall-in-one units, thesystem boardisincorporatedinto the display device.1. 台式机台式计算机放置在桌面上通过墙壁电源插座供电。键盘通常是一个独立的组件通过线缆与主机相连。台式计算机可以采用立式机箱或卧式机箱。在一些被称为“一体机”的现代台式机中主板被集成到了显示设备中。Desktop computers are popular for offices and schools where portability is not important. Their operating systems include Microsoft Windows, macOS, and Linux. The price of anentry-leveldesktop computer starts at $500 or a bit less.台式电脑在不看重便携性的办公室和学校中非常普及。它们的操作系统包括 Microsoft Windows、macOS 和 Linux。入门级台式电脑的价格从 500 美元或更低起步。背单词打卡截图
2026年3月5日,Rust 官方正式发布了 1.94.0 稳定版,该版本虽未引入颠覆性的核心特性,却在标准库 API 稳定化、功能拓展和性能优化上带来了诸多实用更新。本次更新共稳定了12个新 API,同时放宽了部分现有 API 的使用约束,…
RabbitMQ 是一个开源的消息队列中间件,广泛用于分布式系统中的异步消息传递。它支持多种消息协议,易于扩展,功能强大。本文将详细介绍如何在 Windows 系统下安装和配置 RabbitMQ,包括所需的依赖项、安装步骤、基本配置和常见问题解…
OpenEuler bridge-utils入门:如何快速搭建Linux网络桥接环境 【免费下载链接】bridge-utils Utilities for configuring the linux ethernet bridge 项目地址: https://gitcode.com/openeuler/bridge-utils
前往项目官网免费下载:https://ar.open…
未来已来:KubeHawk的 roadmap 与云原生监控趋势 【免费下载链接】KubeHawk KubeHawk is a CloudNative Kubernetes-Cluster tracking and observability solution based on eBPF technology. 项目地址: https://gitcode.com/openeuler/KubeHawk
前往项目官网…
UTBotJava:革命性AI单元测试生成工具,10倍提升Java代码测试效率 【免费下载链接】UTBotJava UTBotJava is the tool for automated unit test generation and precise code analysis. 项目地址: https://gitcode.com/openeuler/UTBotJava
前往项目…
如何利用向量化计算实现量化策略的快速验证与优化 【免费下载链接】vectorbt The backtesting engine that gives you an unfair advantage. Run thousands of trading ideas before others finish one. 项目地址: https://gitcode.com/gh_mirrors/ve/vectorbt
在量化交…