2012华为上机试题及答案

合集下载

华为2012校园招聘软件上机笔试题+准确答案

华为2012校园招聘软件上机笔试题+准确答案

2012华为校园招聘上机试题+准确答案1.给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数void Stringchang(const char*inpu,char*output)其中input是输入字符串,output是输出字符串答案:void Stringchang (char *input,char *output){ int len=strlen(input);for(int i=0;i<len;i++){if((input[i]<='Z'&&input[i]>='A')||(input[i]<='z'&&input[i]>='a'))output[i]=input[i]+1;else output[i]=input[i];}}2.求一个整型数字中有没有相同的部分,例如12389756123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。

方法是先将整型数字转换到数组中,再判断。

函数为int same(int num)其中num是输入的整型数字答案:参考第三题很容易写出代码!3.求两个字符串的乘积,结果存到字符串中,例如字符串一中存的“657891”,字符串二中存的“521”,分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来函数为void mul(char *input1,int n,char *input2, int m,char *output)其中input1和input2是输入,n是input1的长度,n2是input2的长度。

Output是输出答案:void mul(char *input1,int n,char *input2, int m,char *output){ int num1=StrToNum(input1,n);int num2=StrToNum(input2,m);int muti=num1*num2;NumToStr(muti,output);cout<<output<<endl;}int StrToNum(char *input,int len) //字符串转为int型变量{ int delta='0'-0,num=0;for(int i=len-1;i>=0;i--){num+=(input[i]-delta)*pow(10.0,len-i-1);}return num;}void NumToStr(int num,char *output) //int型变量转为字符串{ int len=0;while(1){int flag=num%(int)pow(10.0,len);if(flag==num) break;else len++;}int delta='0'-0,num0=num;for(int i=len-1;i>=0;i--){ output[len-i-1]=num0/(int)pow(10.0,i)+delta;num0=num0%(int)pow(10.0,i);}output[len]='\0';}。

届华为校园招聘上机考试题

届华为校园招聘上机考试题

2012届华为校园招聘上机考试题目(9月6日下午1点场)分类:华为准备2011-09-08 15:10 281人阅读评论(0) 收藏举报在网上看到华为在有的地方已经开始机试了,于是决定自己先编着试试。

下面是题目和自己写的代码。

1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。

打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分= 专家评委平均分* 0.6 + 大众评委* 0.4,总分取整。

如果没有大众评委,则总分= 专家评委平均分,总分取整。

函数最终返回选手得分。

函数接口int cal_score(int score[], int judge_type[], int n)view plaincopy to clipboardprint?1. #include<stdio.h>2. #include<string.h>3. #include<iostream.h>4. #include<conio.h>5. #define N 56.7. i nt cal_score(int score[], int judge_type[], int n)8.9. {10. int expert=0;11. int dazhong=0;12. int zongfen=0;13. int i;14. int number=0;15.16. for(i=0;i<N;i++)17. {18. if(judge_type[i]==1)19. {20. expert=expert+score[i];21. number++;22. }23. else dazhong=dazhong+score[i];24. }25. if(number==N)26. {27. zongfen=(int)(expert/N);28. }29. else30.31. {32. expert=(int)(expert/number);33. dazhong=(int)(dazhong/(N-number));34. zongfen=int(0.6*expert+0.4*dazhong);35.36. }37. return zongfen;38.39. }40. int main()41. {42. int score[N];43. int judge_type[N];44. int numberlast=0;45. int i;46. printf("please input the %d score:\n",N);47. for(i=0;i<N;i++)48. scanf("%d",&score[i]);49. printf("please input the level(1:expert,2:dazhong)\n");50. for(i=0;i<N;i++)51. scanf("%d",&judge_type[i]);52. numberlast=cal_score(score,judge_type,N);53. printf("the last score is %d\n",numberlast);54. return 0;55. }运行结果分析:please input the 5 score:90 80 87 89 91please input the level(1:expert,2:dazhong)1 2 1 1 1the last score is 852、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

华为机试

华为机试

同学都陆续到华为参加了机试,题目整体难度不大,基本上都是考字符串相关的题目。

这里就分享一套2012年华为南京机试C++或者C的编程题目。

2012年华为南京机试第一题整数化成字符串给定一个整数(有可能是负数),将整数变成字符串。

函数已经声明好类似void change(int number, char s[])的形式。

可以自己写用例测试。

2012年华为南京机试第二题单链表逆序给定一个已经定义好的单链表,将单链表中的数字逆序。

输入为head指针,返回的也是一个head指针。

函数声明为void sor(Node **head)的形式。

2012年华为南京机试第三题字符串最大回文子串给定一个字符串,寻找它的一个最大子串,该子串是回文。

例如给定用例字符串”gabcdcbaef”,那么最大回文字串是”abcdcba”。

函数声明为void huiwen(char input[], intlen, char output[])。

一天几个考场的题目有相同的也有不同的,基本上难度都不大。

要求做前两题就可以了,有能力的可以做第三题并且计入总分。

有同学做完当场就看到是100分,也有0分的,至于怎么计分的不太清楚。

希望七叶草提供的2012年华为南京机试编程题对你有帮助!武汉题目:有一个数组a[N]如a[10]={0,1,2,3,4,5,6,7,8,9}每隔两个数删除一个数,如0,1,2(删除),3,4,5(删除),6,7,8(删除),9,到数组尾部回到数组头部继续删除,要求编写一个函数实现实现上述操作,返回最后一个数的数组下标。

函数接口:intgetLast(intiLen)参数:数组初始元素个数iLen01 #include <stdio.h>02 #include <stdlib.h>0304 typedef struct node *List;05 typedef struct node *PNode;0607 typedef struct node08 {09 int data;10 struct node *next;11 }Node;1213 int getLast(int iLen)14 {15 int i;16 List L;17 PNodetempNode,current;18 L = (List)malloc(sizeof(Node));19 L->next = NULL;20 current = L;21 for (i=0; i<iLen; i++)22 {23 tempNode = (PNode)malloc(sizeof(Node));24 tempNode->data = i;25 current->next = tempNode;26 current = tempNode;27 }28 current->next = L->next;29 current = L;30 while (iLen> 1)31 {32 current = current->next->next;33 tempNode = current->next;34 current->next = tempNode->next;35 printf("%d\n",tempNode->data);36 free(tempNode);37 iLen--;38 }39 return current->data;40 }4142 int main()43 {44 printf("last of 20 is %d",getLast(20));45 return 0;46 }编程题(共2题,第一题40分,第二题60分,共100分。

华为入职考试题库及答案

华为入职考试题库及答案

华为入职考试题库及答案
1. 华为公司是哪一年成立的?
A. 1987年
B. 1992年
C. 1997年
D. 2002年
答案:A
2. 华为公司的总部设在哪个国家?
A. 美国
B. 中国
C. 德国
D. 日本
答案:B
3. 华为的主要业务领域包括哪些?
A. 电信设备
B. 消费电子产品
C. 企业服务
D. 所有以上
答案:D
4. 华为的核心价值观是什么?
A. 客户至上
B. 创新驱动
C. 合作共赢
D. 所有以上
答案:D
5. 华为在5G技术方面的发展状况如何?
A. 处于行业领先地位
B. 正在追赶中
C. 尚未涉足
D. 落后于竞争对手
答案:A
6. 华为的全球研发中心数量是多少?
A. 10个
B. 20个
C. 30个
D. 40个
答案:B
7. 华为的企业文化中强调的“奋斗者”精神指的是什么?
A. 努力工作
B. 持续学习
C. 勇于创新
D. 所有以上
答案:D
8. 华为在国际市场上的竞争力如何?
A. 非常强
B. 一般
C. 较弱
D. 没有竞争力
答案:A
9. 华为在智能手机市场上的定位是什么?
A. 高端市场
B. 中低端市场
C. 低端市场
D. 所有市场
答案:A
10. 华为的员工培训体系包括哪些内容?
A. 技能培训
B. 管理培训
C. 领导力培训
D. 所有以上
答案:D。

华为机考题

华为机考题

销售网络问题时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte问题描述华为公司积极开拓北美市场,首先在北美建立销售总部,总部在附近地区发展一些销售点,这些销售点可以发展建立下一级销售点,依此类推,最终形成一个新型分级销售网络。

假设在销售网络中,有N个销售点(包括总部),将它们分别编号为1至N。

考虑到金融危机,销售总部决定撤销一些销售点,保留其他销售点。

需要注意是:(1)如果撤销一个销售点,那么该销售点发展的所有下级销售点均要撤销,依此类推;(2)销售总部不能撤销自己;(3)销售总部可以不撤销任何销售点。

请你帮忙告诉华为公司:共存在多少个销售点撤销方案。

问题输入输入包括多个行,首先给出一个整数N,接着N-1行给出销售网络的建立过程,在这N-1行中,第j行(1≤j≤N-1)给出一个整数k(i<k),表示销售点k发展了销售点j。

销售点N就是销售总部。

问题输出输出一行,给出销售点撤销方案数。

样例输入323样例输出3提示:样例有3个销售点(包括总部),“销售点2”发展了“销售点1”,“销售点3”发展了“销售点2”,根据描述,有以下3种销售点撤销方案:(1)不撤销任何销售点;(2)撤销“销售点1”;(3)撤销“销售点1”、“销售点2”。

语言识别问题时间限制(普通/Java):10000MS/30000MS 运行内存限制:65536KByte问题描述给你一段英文或德文文字,你能编程识别它可能是哪种语言吗?研究发现,统计文字中字母“t”(或“T”)与“s”(或“S”)出现的次数,如果给定文字中“t”(或“T”)的出现次数比“s”(或“S”)多,则可能为英文,否则可能为德文。

问题输入输入包括多个行数,首先给出整数N(1<N<10000),接着给出N行文字,每一行文字至少包括一个字符,至多100个字符。

问题输出输出包括一行,如果输入文字可能为英文,则输出English,否则输出Deutsch。

2012年计算机考试上机题A

2012年计算机考试上机题A

2012年计算机考试上机题(A卷)来源:本站原创发布日期:12/07/16字体大小:大| 中| 小第一题Word题(1)新建空白文档,将文档以KS_考生姓名.doc为文件名保存。

(2)录入下面文字。

中国太阳能发电科技“十二五”规划目标我国政府长期以来对太阳能开发利用给予高度重视,近年来太阳能技术、产业和应用取得了全面进步。

“十二五”期间,实现光伏技术的全面突破,促进太阳能发电的规模化应用,晶硅电池效率20%以上,硅基薄膜电池效率10%以上,碲化镉、铜铟镓硒薄膜电池实现商业化应用,装机成本1.2-1.3万元/kW,初步实现用户侧并网光伏系统平价上网,公用电网侧并网光伏系统上网电价低于0.8元/kWh,基本掌握多种光伏微网系统关键部件及设计集成技术,实现示范应用。

太阳能热发电具备建立100MW级太阳能热发电站的设计能力和成套装备供应能力,无储热电站装机成本1.6万元/kW;带8小时储热电站装机成本2.2万元/kW,上网电价低于0.9元/kWh。

突破太阳能中温热能在工业节能中的应用技术和太阳能建筑采暖的长周期储热技术,并示范应用。

初步建立太阳能发电国家标准体系和技术产品检测平台,形成我国完整的太阳能技术研发、装备制造、系统集成、工程建设、运行维护等产业链技术服务体系。

(3)纵向使用A4纸,上、下页边距设置为3厘米,左、右页边距设置为3.5厘米。

(4)将标题文字“中国太阳能发电科技“十二五”规划目标”的字体格式设置为:楷体_GB2312、二号、加粗、蓝色、阴影、字符间距加宽2磅。

(5)将正文字体格式设置为:中文字体选用宋体、西文字体选用Times New Roman、三号、浅蓝色;首行缩进2字符、行距为固定值22磅。

(6)将第一段设置首字下沉2行,字体为楷体。

(7)利用“查找/替换”功能将正文中所有“太阳能”设置为黑体、加粗、红色。

(8)将正文设置为分两栏显示,并在两栏之间设置分隔线。

(9)在文中插入一个图片(图片可以任意指定),图片大小为原图片60%,将板式设置为四周型,放在如样张所示位置。

2012最全华为上机试题及部分答案

2012最全华为上机试题及部分答案

2011年华为软件校园招聘编程测验1、请上机编写程序,按题目要求提交文件。

[详见考试说明,点击进入考试说明]3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。

两者相同则得分,不同则不得分。

4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误6、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余用例不被执行,无法得分7、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目1,判断电话号码是否合法://要注意情况包含,有可能会同时出现几种不好的情况,要按照顺序输出错误。

不能同时输出好几种错误,应该是这样包含:先判断长度是否符合,再判断是否以86打头,再判断有无其他字符int fun(char num[]){ char *p=num;int n=strlen(num);if(n==13){if(*p=='8'&&*(p+1)=='6')while(*p!='\0'){if(*p>='0'&&*p<='9')p++;elsereturn 2;if(*p=='\0')return 0;}else return 3;}elsereturn 1;}int main(){char num[]="87139a3887671";int k=fun(num);cout<<k<<endl;return 0;}1. 数组比较(20分)•问题描述:比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。

【免费下载】华为校园招聘机试题目及答案

【免费下载】华为校园招聘机试题目及答案

{ //sum_zj是专业评委总分数;sum_dz是大众评委总分数;count1专业评委人
数;count2大众评委人数 int sum_zj=0,sum_dz=0,count1=0,count2=0,r; for(int i=0;i<n;i++) { if(judge_type[i]==1) { sum_zj+=score[i]; count1++; } else { sum_dz+=score[i]; count2++; } } if(count2==0)//无大众评委 { r=int((sum_zj/count1)); } else { r=int((sum_zj/count1)*0.6+(sum_dz/count2)*0.4); } return r;
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根保通据护过生高管产中线工资敷艺料设高试技中卷术资0配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高高与中中带资资负料料荷试试下卷卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试.,卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试5交写卷、底重保电。要护气管设装设线备置备4敷高动调、设中作试电技资,高气术料并中课3中试且资件、包卷拒料中管含试绝试调路线验动卷试敷槽方作技设、案,术技管以来术架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011年华为校园招聘上机试题及答案1. 数组比较(20分)问题描述:比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果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[])【输入】int len1:输入被比较数组1的元素个数;int array1[]:输入被比较数组1;int len2:输入被比较数组2的元素个数;int array2[]:输入被比较数组2;【输出】无【返回】不相等元素的个数,类型为int示例1)输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5},int len2 = 5函数返回:02)输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5,7},int len2 = 6函数返回:32. 约瑟夫问题问题描述:输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。

从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。

如果计数到达数列尾段,则返回数列首位置继续计数。

请编程实现上述计数过程,同时输出数值出列的顺序比如:输入的随机数列为:3,1,2,4,初始计数值m=7,从数列首位置开始计数(数值3所在位置)第一轮计数出列数字为2,计数值更新m=2,出列后数列为3,1,4,从数值4所在位置从新开始计数第二轮计数出列数字为3,计数值更新m=3,出列后数列为1,4,从数值1所在位置开始计数第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值4所在位置开始计数最后一轮计数出列数字为4,计数过程完成。

输出数值出列顺序为:2,3,1,4。

•要求实现函数:void array_iterate(int len, int input_array[], int m, int output_array[])【输入】int len:输入数列的长度;int intput_array[]:输入的初始数列int m:初始计数值【输出】int output_array[]:输出的数值出列顺序【返回】无•示例输入:int input_array[] = {3,1,2,4},int len = 4,m=7输出:output_array[] = {2,3,1,4}3. 简单四则运算•问题描述:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注:1、表达式只含+, -, *, / 四则运算符,不含括号2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。

比如8/3=2。

输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况•要求实现函数:int calculate(int len,char *)【输入】int len: 字符串长度;char *: 表达式字符串;【输出】无【返回】计算结果•示例1)输入:char * = “1+4*5-8/3”函数返回:192)输入:char *= “8/3*3”函数返回:61. #include <stdio.h>2.3. /*4. * author by wanww5. * time: 2011-09-076. */7. u sing namespace std;8.9. i nt array_compare(int len1, int array1[], int len2, int array2[])10. {11. if(len1 == len2) {12. int count = 0;13. for (int i=0;i<len1;i++)14. {15. if(array1[i]!=array2[i]) count++;16. }17. return count;18. } else if(len1<len2) {19. return array_compare(len1, array1,len1,array2+len2-len1);20.21. } else {22. return array_compare(len2,array1+len1-len2,len2,array2);23. }24. }25.26. void array_iterate(int len, int input_array[], int m,int output_array[])27. {28. int * flag = new int[len];29. memset(flag,0,len*4);30. int hasout=0; //已经出列的数字个数31. int start = 0; //开始的下标号32. int j=0; //当前以报到的数字33.34. while(true)35. {36. if(flag[start] == 0) //当前元素还没出列37. {38. j++;39. if(j==m) //已经计数到m,当前start下标的元素出列40. {41. output_array[hasout] = input_array[start];42. flag[start] = 1; //标记当前元素已经出列43.44. hasout ++;45. if(hasout == len) break; //所有的元素都已经出列,结束程序46.47. //初始化下一轮的数字48. j = 0;49. m = input_array[start];50. }51.52. }53.54. start ++;55. if(start==len) start = 0;56.57. }58.59. delete [] flag;60.61. }62.63. int calculate(int len,char *expStr)64. {65. struct {66. char opdata[200];67. int top;68. }opstack;69. //定义操作符栈70.71. opstack.top = -1;72.73. int i=0;//遍历字符串的下标74. int t=0;//当前后缀表达式的长度75.76. char ch = expStr[i];77.78. while (ch!='\0')79. {80. switch (ch)81. {82. case '+':83. case '-':84. while (opstack.top != -1)85. {86. expStr[t] = opstack.opdata[opstack.top];87. opstack.top--;88. t++;89. }90. opstack.top++;91. opstack.opdata[opstack.top] = ch;92. break;93. case '*':94. case '/':95. while (opstack.top != -1 && (opstack.opdata[opstack.top] =='*' || opstack.opdata[opstack.top] =='/') )96. {97. expStr[t] = opstack.opdata[opstack.top];98. opstack.top--;99. t++;100. }101. opstack.top++;102. opstack.opdata[opstack.top] = ch;103. break;104. default:105. expStr[t] = ch;106. t++;107. break;108. }109. i++;110. ch = expStr[i];111. }112.113. while (opstack.top != -1)//将栈中所有的剩余的运算符出栈114. {115. expStr[t] = opstack.opdata[opstack.top];116. opstack.top--;117. t++;118. }119.120. expStr[t]='\0';121.122.123. struct {124. int numeric[200];125. int top;126. }data;127.128. data.top = -1;129.130. i=0;131. ch = expStr[i];132.133.134. while (ch!='\0')135. {136. if (ch>='0' && ch <= '9' )137. {138. data.top++;139. data.numeric[data.top] = ch-'0';140. }141. else if('+' == ch)142. {143. int tmp = data.numeric[data.top-1] + data.numeric[data.top]; 144. data.top--;145. data.numeric[data.top] = tmp;146. }147. else if('-' == ch)148. {149. int tmp = data.numeric[data.top-1] - data.numeric[data.top]; 150. data.top--;151. data.numeric[data.top] = tmp;152. }153. else if('*' == ch)154. {155. int tmp = data.numeric[data.top-1] * data.numeric[data.top]; 156. data.top--;157. data.numeric[data.top] = tmp;158. }159. else if('/' == ch)160. {161. if(data.numeric[data.top] == 0)162. {163. printf("cannot be zero of the divide\n");164. exit(1);165. }166. int tmp = data.numeric[data.top-1] / data.numeric[data.top];167. data.top--;168. data.numeric[data.top] = tmp;169. }170. i++;171. ch = expStr[i];172. }173.174. return data.numeric[data.top];175. }176.177.178.179.180. void main()181. {182.183. int array1[] = {1,3,5};184. int len1 = 3;185. int array2[] = {77,21,1,3,5,7};186. int len2 = 6;187. int count = array_compare(sizeof(array1)/sizeof(int),array1,sizeof(array2 )/sizeof(int),array2);188. printf("%d\n",count);189.190. printf("*****************************************************\n");191.192. int input_array[] = {3,1,2,4};193. int len = 4;194. int m=7;195.196. int * output_array = new int[sizeof(input_array)/sizeof(int)];197.198. array_iterate(4,input_array,7,output_array);199.200. for (int i=0;i<sizeof(input_array)/sizeof(int);i++)201. {202. printf("%d ",output_array[i]);203. }204.205.206. delete [] output_array;207.208. printf("\n*****************************************************\n"); 209.210. char expStr[] = "8/3*3";211.212.213. int result = calculate(strlen(expStr),expStr);214.215. printf("%s\n",expStr);216. printf("%d\n",result);217.218.219.220. }。

相关文档
最新文档