华为机考前准备工作
很多同学在刷完真题后,就直接去考试了,会发现不是卡在了题目的难度上,而是卡在了代码数据的如何输入上。为了避免各位有志之士忽略小细节而导致的前功尽弃,博主特意总结了华为机考试题数据输入的几种情况及其源代码,仅供各位有志之士参考。
具体如下:
情况1:
输入一行两个整数
/*
输入数据
1 5
10 20
*/
#include <iostream>
using namespace std;int main(){int a,b;while(cin >> a >> b){cout << a+b <<endl;}return 0;
}
情况2:
输入第一行包括一个数据数组t
接下来每行包括两个正整数a,b
/*
输入第一行包括一个数据数组t
接下来每行包括两个正整数a,b
2
1 5
10 20
*/
#include <iostream>
using namespace std;int main(){int t;cin >> t;int a,b;while(t){cin >> a >> b;t--;}return 0;
}
情况3:
输入包括两个正整数a,b,输入数据有多组,如果输入为0 0 则结束输入
/*
输入包括两个正整数a,b,输入数据有多组,如果输入为0 0 则结束输入
1 5
10 20
0 0
*/
#include <iostream>
using namespace std;int main(){int a,b;while(true){cin >> a >>b;if(a == 0 && b == 0){break;}cout << a + b << endl; }return 0;
}
情况4:
输入数据包括多组
每组数据一行,每行第一个整数位整数的个数n,n为0的时候结束输入
接下来n个正整数,既需要求和每个正整数
/*
输入数据包括多组
每组数据一行,每行第一个整数位整数的个数n,n为0的时候结束输入
接下来n个正整数,既需要求和每个正整数
4 1 2 3 4
5 1 2 3 4 5
0
*/#include <iostream>
using namespace std;
int main(){int n;while(true){cin >> n;if(n == 0){break;}int temp = 0;int sum = 0;for(int i = 0; i < n;i++){cin >> temp;sum = sum + temp;}cout << sum << endl; }return 0;
}
情况5:
输入的第一行包括一个正整数t,表示数据数组
接下来t行,每行一组数据
每行的第一个整数位整数的个数n
接下来n个正整数,既需要求和每个正整数
/*
输入的第一行包括一个正整数t,表示数据数组
接下来t行,每行一组数据
每行的第一个整数位整数的个数n
接下来n个正整数,既需要求和每个正整数
2
4 1 2 3 4
5 1 2 3 4
*/#include <iostream>
using namespace std;
int main(){int t;cin >> t;for(int i = 0; i < t; i++){int n;cin > n;int temp = 0;int sum = 0;for(int j = 0; j < n; j++){cin >> temp;sum = sum + temp;}cout << sum << endl;}return 0;
}
情况6:
输入数据多组,每行表示一组输入数据
每行的第一个整数位整数的个数n
接下来n个正整数,既需要求和每个正整数
/*
输入数据多组,每行表示一组输入数据
每行的第一个整数位整数的个数n
接下来n个正整数,既需要求和每个正整数
4 1 2 3 4
5 1 2 3 4 5
*/#include <iostream>
using namespace std;
int main(){int n;while(cin >> n){ // 输入必须方里边// 利用cin 的fail语句和eof语句 退出循环if(cin.fail()){cin.clear();if(cin.eof()){break;}}int temp = 0;int sum = 0;for(int i = 0; i < n; i++){cin >> temp;sum = sum + temp;}cout << sum << endl;}return 0;
}
情况7:
输入数据多组,每行表示一组输入数据
每行不定有n个整数,空格隔开
/*
输入数据多组,每行表示一组输入数据
每行不定有n个整数,空格隔开
1 2 3
4 5
0 0 0 0 0
*/
#include <iostream>
#include <vector>
using namespace std;int main() {int n;vector<int> arr; // 用于存储每一行的整数// 循环读取直到遇到EOFwhile (cin >> n) {arr.push_back(n); // 读取一个整数并存入vector// 检查下一个输入是否为整数,如果不是(比如是换行符或EOF),则处理当前行if (cin.peek() == '\n' || cin.peek() == EOF) {// 处理当前行数据,例如计算和int sum = 0;for (int num : arr) {sum = sum + num;}cout << "当前行的和为: " << sum << endl;// 清空当前行的存储,准备读取下一行arr.clear(); // 这个清空很关键// 检查是否到达EOF,如果是则跳出循环if (cin.peek() == EOF && cin.eof()) {break;// 对于退出循环很关键,这两句代码绝对不能省}}}return 0;
}
情况8:
输入有两行,第一行数字n
第二行时n个字符串,字符串之间用空格隔开
/*
输入有两行,第一行数字n
第二行时n个字符串,字符串之间用空格隔开
5
c d a bb e*/#include <iostream>
using namespace std;
#include <vector>
#include <string>int main(){int n;vector<string> str;string s;while(cin >> s){str.push_back(s);if(cin.get == '\n'){sort(str.begin(),str.end());for(int i = 0; i < n; i++){cout << str[i]<<" ";}str.clear();}}return 0;
}
情况9:
多个测试用例,每个测试用例一行
每行通过空格隔开,有n个字符
/*
多个测试用例,每个测试用例一行
每行通过空格隔开,有n个字符
a c bb
f dddd
nowcoder
*/#include <iostream>
using namespace std;
#include <vector>
#include <string>bool cmp(const string& a, const string& b) {return a < b; // 使用字典顺序比较
}int main() {string s;vector<string> str;while (cin >> s) {str.push_back(s);if (cin.get() == '\n') { // 判断是否一行数据是否输入完成sort(str.begin(), str.end(),cmp);for (int i = 0; i < str.size(); i++){cout << str[i] << " ";}cout << endl;str.clear(); // 清空数组,等待重新输入下一行 }}return 0;
}
情况10:
/*
多个测试用例,每个测试用例一行
每行通过英文逗号隔开,有n个字符
a,c,b
f,dddd
nowcoder
*/#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <sstream>int main() {vector<string> str;while (true) {// 使用逗号作为分隔符读取字符串string inputLine;getline(cin, inputLine); // 读取整行文本stringstream ss(inputLine);string s;while (getline(ss, s, ',')) { str.push_back(s);}sort(str.begin(), str.end(), cmp);for (int i = 0; i < str.size(); i++){ if (i == str.size()-1) {cout << str[i];}else {cout << str[i] << ",";}}cout << endl;str.clear(); // 清空数组,等待重新输入下一行if (cin.peek() == EOF || cin.eof()) {break; // 对于退出循环很关键,这两句代码绝对不能省}}return 0;
}
情况11:
在诸如题目定义了很大的数据范围的时候,要选择合适的数据类型定义变量
/*
例如定义的两个变量的值的范围:[1, 1e10]
这个时候就不能使用int数据类型,而是需要使用long或者long long数据类型
*/#include <iostream>
using namespace std;int main(){long long a,b;cout << a+b <<endl;return 0;
}
--------------------------------------------------------仰望分割符---------------------------------------------------------
如果坐在电脑前的你看到这里,说明你已经向成功迈出了一大半,前途不可限量,加油吧,骚年!
( 此处是一个巨型表情包 )
相关文章:
华为机考前准备工作
很多同学在刷完真题后,就直接去考试了,会发现不是卡在了题目的难度上,而是卡在了代码数据的如何输入上。为了避免各位有志之士忽略小细节而导致的前功尽弃,博主特意总结了华为机考试题数据输入的几种情况及其源代码,仅…...
偏差、方差(训练误差,验证误差)
目录 一、偏差、方差:二、正则化参数λ对偏差、方差的影响:三、训练集规模对偏差、方差的影响:四、模型复杂度对偏差、方差的影响:五、方差、偏差如何帮助训练:1.高偏差解决方法:2.高方差解决方法ÿ…...
Retrofit框架源码深度剖析【Android热门框架分析第二弹】
Android热门框架解析,你确定不来看看吗? OkHttp框架源码深度剖析【Android热门框架分析第一弹】 Retrofit框架源码深度剖析【Android热门框架分析第二弹】 什么是Retrofit? 准确来说,Retrofit 是一个 RESTful 的 HTTP 网络请求…...
C++Windows环境搭建(CLion)
文章目录 CLion下载安装CLion下载CLion安装新建项目新建一个文件基础设置字体设置clion中单工程多main函数设置 参考 CLion下载安装 CLion下载 打开网址:https://www.jetbrains.com/clion/download/ 点击Download进行下载。 CLion安装 双击下载好的安装包&…...
【区块链 + 智慧政务】省级一体化区块链平台 | FISCO BCOS应用案例
在加强数字政府建设的大背景下,科大讯飞广泛应用数字技术于政府管理服务,推动政府数字化、智能化运行。同时, 统筹推进业务、数据和技术的融合,提升跨地域、跨层级、跨部门和跨业务的协同管理和服务水平。 当前政务信息化建设中&…...
局域网远程共享桌面如何实现
在局域网内实现远程共享桌面,可以通过以下几种方法: 一、使用Windows自带的远程桌面功能: 首先,在需要被控制的电脑上右键点击“此电脑”,选择“属性”。 进入计算机属性界面后,点击“高级系统设置”&am…...
Ubuntu固定虚拟机的ip地址
1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安装时报错W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:10, 检查 /etc/apt/sources.list…...
python破解密码·筛查和选择
破解密码时可能遇到的几种情况 ① 已知密码字符,破排序 ② 已知密码位数,破字符 ③ 已知密码类型,破字位 ④ 已知部分密码,破未知 ⑤ 啥都不知道,盲破,玩完 ⑥ 已知位数、字符、类型、部分密码中的几个&am…...
【将应用程序注册为系统服务】
在 Linux 系统中,将应用程序注册为系统服务可以使其在系统启动时自动运行,并且可以通过 systemctl 命令进行管理。/etc/systemd/system 目录是用于存放用户定义的 systemd 服务单元文件的目录。 将 Logstash 注册为系统服务 假设你已经安装了 Logstash…...
从0-1搭建一个web项目(路由目录分析)详解
本章分析vue路由目录文件详解 ObJack-Admin一款基于 Vue3.3、TypeScript、Vite3、Pinia、Element-Plus 开源的后台管理框架。在一定程度上节省您的开发效率。另外本项目还封装了一些常用组件、hooks、指令、动态路由、按钮级别权限控制等功能。感兴趣的小伙伴可以访问源码点个赞…...
Zabbix分布式监控
目录 分布式监控架构 实现分布式监控的步骤 优点和应用场景 安装Zabbix_Proxy Server端Web页面配置 测试 Zabbix 的分布式监控架构允许在大规模和地理上分散的环境中进行高效的监控。通过分布式监控,Zabbix 可以扩展其监控能力,支持大量主机和设备…...
前端面试39(关于git)
针对前端开发者的Git面试题可以覆盖Git的基础概念、常用命令、工作流程、团队协作、以及解决冲突等方面。以下是一些具体的Git面试 Git基础知识 什么是Git? Git是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调多个人共同在一个项…...
13--memcache与redis
前言:数据库读取速度较慢一直是无法解决的问题,大型网站应对的方式主要是使用缓存服务器来缓解这种情况,减少数据库访问次数,以提高动态Web等应用的速度、提高可扩展性。 1、简介 Memcached/redis是高性能的分布式内存缓存服务器…...
QT学习日记一
创建QT文件步骤 这是创建之后widget.cpp和widget.h文件的具体代码解释,也是主要操作的文件,其中main.cpp不用操作,ui则是图形化操作界面,综合使用时,添加一个元件要注意重编名和编译一下,才能在widget这类…...
redhat7.x 升级openssh至openssh-9.8p1
1.环境准备: OS系统:redhat 7.4 2.备份配置文件: cp -rf /etc/ssh /etc/ssh.bak cp -rf /usr/bin/openssl /usr/bin/openssl.bak cp -rf /etc/pam.d /etc/pam.d.bak cp -rf /usr/lib/systemd/system /usr/lib/systemd/system.bak 3.安装…...
Spring Cloud Eureka
引入:远程调用时,url是写死的 String url "http://127.0.0.1:9090/product/" orderInfo.getProductId(); 解决思路: 比如(医院,学校等)机构的电话号码发生变化,就需要通知各个使⽤…...
threejs
1.场景清空,释放内容 // 假设你已经有一个Three.js的场景对象scene// 函数:清空场景中的所有对象 function clearScene(scene) {while(scene.children.length > 0){const object scene.children[0];if(object.isMesh) {// 如果有几何体和材质&#…...
将pytorch 模型封装为c++ api 例子
在 PyTorch 中,通常使用 Python 来定义和训练模型,但是可以将训练好的模型导出为 TorchScript,然后在 C 中加载和使用。以下是一个详细的过程,展示了如何将 PyTorch 模型封装成 C API: 步骤 1: 定义和训练模型&#x…...
珠宝迷你秤方案
珠宝迷你秤作为一种便携式电子称重设备,因其小巧、便携、精度高等特点,广泛应用于各种需要精确称重的场景。可能这个目前在国内使用的人比较少,但在西方国家珠宝迷你秤却是可以用来送礼的物品。因为珠宝迷你秤的外观跟手机外观大多相似&#…...
边缘概率密度、条件概率密度、边缘分布函数、联合分布函数关系
目录 二维随机变量及其分布离散型随机变量连续型随机变量边缘分布边缘概率密度举例边缘概率密度 条件概率密度边缘概率密度与条件概率密度的区别边缘概率密度条件概率密度举个具体例子 参考资料 二维随机变量及其分布 离散型随机变量 把所有的概率,都理解成不同质量…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
