2017最全华为机试题C/C++(含答案源码)
2017最全华为机试题C/C++(含答案源码),包含111道上机考试题,欢迎下载,觉得资源好请好评。分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来数为其中和是输入,是的长度,是的长度。是输出4.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数输出删除后的字符串删除子串5.约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3..n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人仝部出列。6.比较一个数组的元素是否为回文数组比较两个数组,要求从数组最后一个元素廾始逐个元素冋前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数比如:数组{1,3,5}和数组77,21,1,3,5}按题述要求比较,不相等元素个数为0数组{1,3,5}和数组:77,21,1,3,5,7按题述要求比较,不相等元素个数为3要求实现函数int array compare(int len1, int array1[], int len2, int array2[l输入】 int len1:输入被比较数组1的元素个数;int array l[]:输入被比较数组1;int lcn2:输入被比较数组2的元素个数;int array2L]:输入被比较数组2【输出】无【返回】不相等元素的个数,类型为int小例1)02: int array1[ =11,3, 5, int len1=3, int array 2=77, 21, 1, 3, 51int e函数返回:02)输入: int array1[]=:1,3,5),int1en1=3, int array2={7,21,1,3,5,7int lend6函数返回:3约瑟大环变种:输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值岀列的顺序比如:输入的随机数列为:3,1,2,4,初始计数值m-7,从数列首位置开始计数(数值3所在位置)第一轮计数出列数字为2,计数值更新m2,出列后数列为3,1,4,从数值4所在位置从新开始计数第二轮计数出列数字为3,计数值更新m3,出列后数列为1,4,从数值1所在位置开始计数第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值4所在位置开始计数最后一轮计数出列数字为4,计数过程完成。输出数值出列顺序为:2,3,1,4。要求实现函数id array iterate(int len, int input array [, int m, int output array [)输入】 int len:输入数列的长度;int Intput array[]:输入的初始数列intm:初始计数值【输出】 int output array[]:输出的数值出列顺序【返回】无示例输入: int input array[13,1,2,4}, int lcn4输出: output array[]2,3,1,4手机弓码合法性:问题描述:我国大陆运营商的手机号码标准格式为:国家码+手机号何,例如:8613912345678。特点如下:、长度13位2、以86的国家码打头3、手机号码的每一位都是数字。请实现手机号码合法性判断的函数要求1)如果手机号码合法,返回02)如果手机号码长度不合法,返回13)如果于机号码中包含非数字的字符,返回24)如果于机号码不是以86打头的,返回3:【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。要求实现函数int verifyMsisdn (chark inMsisdn)【输入】char* inmsisdn,表示输入的手机号码字符串。【输出】无【返回】判断的结果,类型为int示例输入: inMsisdn=“869123456789“输出:无返回:1输入: msisdn=“88139123456789输出:无输入: inMsisdn=“86139123456789“输出:无返简单的四则运算问题描述:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注:1、表达式只含,,(,),四则运算符2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合法的表达式,其屮只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况要求实现函数:int calculatc(int lcn, char *cxpStr输入】 int cn:字符串长度;char* cxpStr:表达式字符串【输出】无【返回】计算结果示例1)输入:char* expstr“1+4*5-8/3函数返回:192)输入:char* expStr=“8/3*3”函数返回:6
- 2021-05-07下载
- 积分:1
高能物理分析软件ROOT的入门使用方法
root是cern开发的数据分析软件,根据cern官网的A ROOT Guide For Beginners英文版翻译的中文文档,适合初学者了解root软件的使用723存储任意类型的 N-tuples…724处理跨文件的 n-tuple7.2.5对进阶用户:使用送择器即本处理树…547.2.6对干进阶价用户:使用 PROOF lite进行多核处理72.7关于 N-tuples的优化8 ROOT in python:::::::::::t·::::··:598. 1 PYROOT598.1. 1 More Python-less C++8.2自定义代码:从C+到 Python9结束语…64References64摘要ROOT是一个用于数据分析和I/O的软件框架:一个强大的工只,可以应对最先进的科学数据分析的典型任务。它的突出特点包括高级图形用户界面,非常适合交互式分析,C++编程语言的解释器,快速高效的原型设计和C艹+对象的持久性杋制,还用于写入大型强了对撞机实验记录的每年PB级数据(1PB=1024TB译者注)。本入门指南说明了ROOT的主要特征,这些特征与数据分析的典型问题相关:输入和绘制测量数据和分析功能的拟合。原创作者-D. Piparo-G. Quast-M,cisc译者注:本文均是 Google翻译结果,仅对代码和板式作调整,欢迎修改分享软件背景与简介欢迎来到数据分析ROOT!测量与理论模型的比较是实验物理学中的标准仟务之一。在最简单的情况下,“模型”只是提供测量数据预测的函数。通常,模垩取决于参数。这种模型可以简单地表示“电流I与电压U成比例”,并且实验者的任务包括从一组测量中确定电阻R作为第一步,需要数据的可视化。接下来,通常必须应用一些操作,例如,校正或参数转换。通常,这些操作是复杂的,并且应该提供强大的数学函数和程序库-例如,考虑应用于输入光谱的积分或峰值搜索或傅立叶变换以获得模型描述的实际测量偵。实验物理学的一个特点是影响每个测量的不可避免的不确定性,可视化工具必须包括这些。在随后的分析中,必须正确处理错误的统计性质作为最后一步,将测量值与模型进行比较,并且需要在此过程中确定自由模型参数。有关适合数据点的函数(模型)的示例,请参见图1.1。有儿种标准方法可供使用,数据分析工具应能方便地访问其中一种以上。还必须提供量化测量和模型之间一致性水平的方法。通常,要分析的数据量很大-考虑借助计算机累积的细粒度测量。因此,可用工具必须包含易于使用且有效的方法来存储和处理数据在量子力学中,模型通常仅根据许多参数预测测量的概率密度函数(“pdf),并且实验分析的目的是从观察到的频率分布中提取参数,其中观察测量。这种测量需要生成和可视化频率分布的装置,所谓的直方图和严格的统计处理,以从纯粹的统计分布中提取模型参数。预期数据的模拟是数据分析的另一个重要方面。通过重复生成“伪数据”,其以与用于真实数据的预期相同的方式进行分析,可以验证或比较分析过程。在许多情况卜,测量误差的分布并不是精确已知的,并且模拟提供了测试不同假设的景响的可能性。满足上述所有要求的强大软件框架是ROOT,这是个由日内瓦欧洲核了研究中心欧洲核研究组织协调的开源项目ROOT非常灵活,既可以在自己的应用程序中使用编程接口,也可以提供用于交互式数据分析的图腦用户界面。木文档的目的是作为初学者指南,并根据学生实验室中解决的典型问题为您自己的用例提供可扩展的示例。本指南有望为您未来科学工作中更复杂的应用奠定基础,建立在现代,最先进的数据分析上具之上本指南以教程的形式向您介绍ROOT包。根据“边做边学”的原则,这个目标将通过具体的例子来完成。也正因为这个原因,本指南无法涵盖ROOT包的所有复杂性。然而,一日您对以卜章节中介绍的概念有信心,您将能够欣赏ROOT用户指南( The Root Users guide2015)并浏览类参考(根参考指南2013)以査找所有详细信息您可能会感兴。您甚至可以查看代码本身,因为ROOT是一个免费的开源广品。与本教程并行使用这些文档!ROOT数据分析框架本身是编写的,并且在很大程度上依赖于C++编程语言:需要些关于C++的知识。如果您不了解这种语言的含义,Js可以利用有关C++的大量文献。ROOT可用于许多平台( Linux, Mac osx, Windows….),但在本指南中我们将隐含地假设您使用的是 Linux。你需要做的第一件事就是安装ROOT,不是吗?获取最新的ROOT版本非常简单。只需在此网页htp:/ root, cern.ch/ downloading-root上寻找“专业版”。您将找到针对不同体系结构的预编译版木,或者您自凵编译的ROOT源代码。只需拿起您需要的味道并按照安装说明操作即可。让我们深入了解ROOT!ROOT基础既然你凵经安装了ROOT,那么你止在运行的这个交互式 shell是什么?就像这样:ROOT带来了双重功能。它有一个宏的解释器(Cing( What is Cling”2015)),您可以从命令行运行或像应用程序一样运行。但它也是一个可以评估任意语句和表达式的交互式 shell这对于调试,快速黑客攻击和测试非常有用。我们先来看一些非常简单的例子2.1ROOT作为计算器您甚至可以使用ROOT交互式she代替计算器!使用该命令启动ROOT交互式shelroot在你的Liux机器上。提示应该很快出现:root「8让我们来看看这里显示的步骤root [0] 1+1(int)2root[1]2*(4+2)/12(doub1e)1.0000root [2] sqrt(3.( double)1.732051root[3]1>2(bool) falseroot [4] TMath: Pi()( double)3.141593root [5] TMath: Erf( 2)( double).222703不错。您可以看到,ROOT不仅可以输入C++语句,还可以输入存在于 MAth命名空间中的高级数学函数。现在让我们做一些更详尽的事情。一个众所周知的几何系列的数字小例root [6 double X=5(double)0.500000root [7] int N=30(int)30root [8] double geom series=0(doub1e)8.099root [9] for (int i=0; i
- 2020-06-28下载
- 积分:1