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
xilinx_CORDIC算法(非常经典)
FPGA有关的cordic讲解,xilinx公司ppt型的详细讲解,中文。从原理到实现(模型的建立等)。简介目前的具有许多乘法器和加法器。然而各种各样的通信技术和矩阵算法则需要三角函数、平方根等的运算如何在上执行这些运算可以使用查找表或是迭代法本节介绍了算法这是一个移位相加算法允许计算不同的三角函数例如0.0.0包括除法和对数酾数在内的其它函数。xⅫNX关于算法的细节问题,可参见下面的材料技术并不是什么新鲜的东西。事实上它可以追溯到年由发表的一篇文章。在上个世纪五十年代,在大型实际的计算机中的实行移位相加受到了当时技术上的限制,所以使用变得非常必要。到了七十年代,和其他公司出产了手持计算器,许多计算器使用一个内部单元来计算所有的三角函数(了解这件事的人们一定还记得,那时求一个角度的正切值需要延迟大约1秒中)二十世纪八十年代,随着高速度乘法器与带有大存储量的通用处理器的出现, CORDIC算法变得无关紧要了。然而在二十一世纪的今天,对于来说,定是在应用中(诸如多输入多输出(波束形成以及其他自适应系统)计算三角函数的备选技术。wwwsteepestascenCO1笛卡尔坐标平面旋转在坐标平面上将点(,)旋转0角度到点(,)的标准方法如下所示00这被称为是平面旋转、向量旋转或者线性矩阵代数中的旋转。xⅫNX上面的方程组同样可写成矩阵向量形式00例如一个相移为wwwsteepestascenCO1伪旋转通过提出因数,方程可写成下面的形式000(0)如果去除0项,我们得到伪旋转方程式0)6(0)即旋转的角度是正确的,但是与的值增加9倍由于所以模值变大。注意我们并不能通过适当的数学方法去除0项然而随后我们发现去除θ项可以简化坐标平面旋转的计算操作。xⅫNX在坐标平面中0因此经过伪旋转之后,向量的模值将增加0倍。向量旋转了正确的角度但模值出现错误。wwwsteepestascenCO1方法方法的核心是伪旋转角度θ,其中θ。故方程为下面的表格指出用于算法中每个迭代的旋转角度精确到位小数xⅫNX在这里,我们把变换改成了迭代算法。我们烀各种可能的旋转角度加以限制,使得对任意角度θ的旋转能够通过一系列连续小角度的旋转迭代来完成。旋转角度遵循法则:0,遵循这样的法则,乘以正切项变成了移位操作。前几次迭代的形式为第次迭代旋转第次迭代旋转第次迭代旋转等很显然,每次旋转的方向都影响到最终要旋转的累积角度。在≤日的范围内的任意角度都可以旋转。满足法则的所有角度的总和0为。对于该范围之外的角度,可使用三角恒等式转化成该范围内的角度。当然,角分辨率的数据位数与最终的精度有关。。因此,在次旋转以后,为了标定伪旋转的幅度,要求乘以一个系数角分辨率的数据位数对最终的旋转精度非常关键。wwwsteepestascenCO1
- 2020-11-29下载
- 积分:1