华为机试题及答案
华为认证考试试题及答案

华为认证考试试题及答案华为认证考试试题及答案1、以下属于物理层的设备是(A)A、中继器B、以太网交换机C、桥D、网关2、在以太网中,是根据(B)地址来区分不同的设备的。
A、LLC地址B、MAC地址C、IP地址D、IPX地址3、以下为传输层协议的是(CD)A、IPB、ICMPC、UDPD、SPX4、以下对MAC地址描述正确的是(BC)A、由32位2进制数组成B、由48位2进制数组成C、前6位16进制由IEEE负责分配D、后6位16进制由IEEE负责分配5、以下属于数据链路层功能的是(CD)A、定义数据传输速率B、定义物理地址C、描述网络拓扑结构D、流控制6、IEEE802.3u标准是指(B)A、以太网B、快速以太网C、令牌环网D、FDDI网7、如果要将两计算机通过双绞线直接连接,正确的线序是(C)A、1--1、2--2、3--3、4--4、5--5、6--6、7--7、8--8B、1--2、2--1、3--6、4--4、5--5、6--3、7--7、8--8C、1--3、2--6、3--1、4--4、5--5、6--2、7--7、8--8D、两计算机不能通过双绞线直接连接8、在V.35和V.24规程中,控制信号RTS表示(D)A、数据终端准备好;B、数据准备好;C、数据载体检测;D、请求发送;E、清除发送。
9、路由器作为网络互连设备,必须具备以下哪些特点。
(ABE)A、至少支持两个网络接口B、协议至少要实现到网络层C、至少支持两种以上的子网协议D、至少具备一个备份口E、具有存储、转发和寻径功能F、一组路由协议G、必须有较高的协议处理能力10、路由器的作用有(ABDG)A、异种网络互连B、子网间的速率适配C、连接局域网内两台以上的计算机D、隔离网络,防止网络风暴,指定访问规则(防火墙)E、子网协议转换F、加快网络报文的传递速度G、路由(寻径):路由表建立、刷新、查找H、报文的分片与重组11、调用上一条历史命令的快捷键是(A)A、CTRL-PB、CTRL-OC、ALT-PD、ALT-O12、交换机工作在OSI七层的哪一层?(B)A、一层B、二层C、三层D、三层以上13、以下对CSMA/CD描述正确的是(AD??)A、在数据发送前对网络是否空闲进行检测B、在数据发送时对网络是否空闲进行检测C、在数据发送时对发送数据进行冲突检测D、发生碰撞后MAC地址小的主机拥有发送优先权14、以下对STOREANDFORWARD描述正确的是(CE)A、收到数据后不进行任何处理,立即发送B、收到数据帧头后检测到目标MAC地址,立即发送C、收到整个数据后进行CRC校验,确认数据正确性后再发送D、发送延时较小E、发送延时较大15、以下对交换机工作方式描述正确的是(ABD)A、可以使用半双工方式工作B、可以使用全双工方式工作C、使用全双工方式工作时要进行回路和冲突检测D、使用半双工方式工作时要进行回路和冲突检测16、VLAN的主要作用有(ACD)A、保证网络安全B、抑制广播风暴C、简化网络管理D、提高网络设计灵活性17、在交换机中用户权限分为几个级别(D)A、1B、2C、3D、418、在路由器的配置过程中查询以S开头所有命令的方法是(B)A、直接使用?B、S?C、S?D、DIRS*19、第一次配置路由器时可以使用的方法为(A)A、使用CON口本地配置B、使用CON口远程配置C、使用AUX口远程配置D、使用TELNET远程配置20、在何种状态下可以为路由器改名(B?)A、普通模式B、超级模式C、全局模式D、接口模式共5页:1[2][3][4][5]下一页21、某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有26台计算机,每个子公司在一个网段中,则子网掩码应设为(D)。
(完整版)华为产品类试题汇总-含答案(免费下载),推荐文档

华为产品试题(一)一、填空题1.统一通信融合语音、数据、视频和业务流,实现任意终端在任意时间、任意地点安全快捷接入,覆盖从SOHO工作室到超大型企业各种规模,满足企业IP语音、协同会议、远程培训及便捷办公等全方位的应用要求。
2.华为的产品大类分为数通,传输接入,IT ,UC&C ,专业服务。
3.华为IT类产品包括:服务器,存储,云计算。
4.UC&C类产品包括:智真,UC ,视频监控。
5.华为企业网经销商类型包括:总经销商、一级经销商,金牌经销商,银牌经销商,认证经销商。
6.安捷信的经销商一级渠道包括:一级经销商和总经销商,二级渠道包括:金牌经销商,银牌经销商,认证经销商。
一级渠道可以直接向华为下单,二级渠道只能向总经销商下单。
7.一级经销商:单类产品业绩≥对应产品大类的认证门槛,认证该产品一级经销商;或全部产品业绩≥5000 万,认证多产品一级经销商。
金牌经销商:单类产品业绩≥800万,认证该产品金牌;或全部产品业绩≥1200 万,认证业绩TOP1产品金牌。
银牌经销商:单类产品业绩≥300万,认证该产品银牌;或全部产品业绩≥500 万,认证业绩TOP1产品银牌。
8.华为的售后工程师认证有HCNA ,HCNP ,HCIE 。
9.华为企业网提到的ICT是Information Communication Technology的缩写。
10.BYOD主要是指移动办公,是Bring Your Own Device的缩写。
11.TCP/IP是Transfer Control Protocol/Internet Protocol 的缩写(传输控制协议/网际协议)模型因其开放性和易用性在实践中得到了广泛的应用,TCP/IP协议栈也成为互联网的主流协议。
12.华为存储类产品前面统一带有OceanStor 字样。
13.服务器是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器英文名称为Server .14.选择PC服务器通常需要考虑以下几方面的性能指标:可管理性、可用性、可靠性、安全性以及可扩展性。
华为机试题

华为2011机试题1. 手机号码合法性判断(20分)问题描述:我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。
特点如下:1、长度13位;2、以86的国家码打头;3、手机号码的每一位都是数字。
请实现手机号码合法性判断的函数(注:考生无需关注手机号码的真实性,也就是说诸如86123123456789这样的手机号码,我们也认为是合法的),要求:1)如果手机号码合法,返回0;2)如果手机号码长度不合法,返回13)如果手机号码中包含非数字的字符,返回2;4)如果手机号码不是以86打头的,返回3;【注】除成功的情况外,以上其他合法性判断的优先级依次降低。
也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。
要求实现函数:int verifyMsisdn(char* inMsisdn)【输入】char* inMsisdn,表示输入的手机号码字符串。
【输出】无【返回】判断的结果,类型为int。
示例输入:inMsisdn = “869123456789“输出:无返回: 1输入:inMsisdn = “88139123456789“输出:无返回: 3输入:inMsisdn = “86139123456789“输出:无返回: 01.#include<iostream>ing namespace std;3.int verifyMsisdn(char* inMsisdn)4.{5. if(*inMsisdn++!='8'||*inMsisdn++!='6')6. return 3;7.8. for(int i=0;i<11;i++)9. {10. if(*inMsisdn<'0'||*inMsisdn>'9')11. {12. if(*inMsisdn==0) return 1;13. else14. return 2;15. }16. inMsisdn++;17. }18.19. if(*inMsisdn!=0) return 1;20.21. return 0;22.}2. 将一个字符串的元音字母复制到另一个字符串,并排序(30分)问题描述:有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。
华为机试试题汇总

1.第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50include<>main{intnum50={0};inti,n;printf"请输入整型数组的长度1~50:";scanf"%d",&n;printf"请输入整型数组的元素:";fori=0;i<n;i++{scanf"%d",&numi;}intmin_num=num0;intmax_num=num0;forintj=0;j<n;j++{ifmax_num<numjmax_num=numj;elseifmin_num>numjmin_num=numj;}intsum=min_num+max_num;printf"数组中最大与最小值之和:%d\n",sum;return0;}include<>include<>include<>main{charnum1,num2; 过键盘输入一串小写字母a~z组成的字符串;请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉;比如字符串“abacacde”过滤结果为“abcde”;要求实现函数:void stringFilterconst char pInputStr,long lInputLen, char pOutputStr;输入pInputStr:输入字符串lInputLen:输入字符串长度输出pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;include <>include<>include<>void stringFilterconst char p_str, longlen, char p_outstr {intarray256={0};const char tmp = p_str;forint j=0;j<len;j++{ifarraytmpj==0p_outstr++=tmpj;arraytmpj++;}p_outstr= '\0';}void main{char str = "cccddecc";intlen = strlenstr;char outstr = char malloclensizeofchar; stringFilterstr,len,outstr;printf"%s\n",outstr;freeoutstr;outstr= NULL;}4.通过键盘输入一串小写字母a~z组成的字符串;请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串;压缩规则:1. 仅压缩连续重复出现的字符;比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2. 压缩字段的格式为"字符重复的次数+字符";例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"要求实现函数:void stringZipconst charpInputStr, long lInputLen, char pOutputStr;输入pInputStr:输入字符串lInputLen:输入字符串长度输出pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;include <>include<>include<>void stringZipconst char p_str, long len,char p_outstr{intcount=1;forinti=0;i<len;i++{ifp_stri==p_stri+1{count++;}else{ifcount>1{p_outstr++= count +'0';p_outstr++=p_stri;}else{p_outstr++=p_stri;}count = 1;过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串;输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开;补充说明:1. 操作数为正整数,不需要考虑计算结果溢出的情况;2. 若输入算式格式错误,输出结果为“0”;要求实现函数:void arithmeticconst charpInputStr, long lInputLen, char pOutputStr;输入pInputStr:输入字符串lInputLen:输入字符串长度输出pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;include <>include<>include<>void arithmeticconst char input, longlen, char output{chars110;chars210;chars310;intcnt = 0;intlen_input=strleninput;forinti=0;i<len_input;++i{ifinputi==''cnt++;}ifcnt=2{output++= '0';output= '\0';return;}sscanfinput,"%s %s %s",s1,s2,s3; if strlens2=1||s20='+'&&s20='-' {output++= '0';output= '\0';return;}int len_s1=strlens1;fori=0;i<len_s1;i++{ifs1i<'0'||s1i>'9'{output++= '0';output= '\0';return;}}intlen_s3=strlens3;fori=0;i<len_s3;i++{ifs3i<'0'||s3i>'9' {output++= '0'; output= '\0'; return;}}int x = atois1;int y = atois3;ifs20=='+'{intresult = x+y; itoaresult,output,10; }elseifs20=='-'{intresult = x-y; itoaresult,output,10; }else{output++= '0';output= '\0';return;}}void main{charstr = {"10 - 23"};charoutstr10;intlen = strlenstr;arithmeticstr,len,outstr;printf"%s\n",str;printf"%s\n",outstr;}6.一组人n个,围成一圈,从某人开始数到第三个的人出列,再接着从下一个人开始数,最终输出最终出列的人约瑟夫环是一个数学的应用问题:已知n个人以编号1,2,3...n分别表示围坐在一张圆桌周围;从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列; include <>include<>include<>include<>typedef struct Node{intdata;structNode next;}LinkList;LinkList createint n{LinkListp,q,head;inti=1;p=LinkListmallocsizeofLinkList;p->data=i;head=p;fori=1;i<=n;i++{q=LinkListmallocsizeofLinkList;q->data=i+1;p->next=q;p=q;}p->next=head; 输入一串字符,只包含“0-10”和“,”找出其中最小的数字和最大的数字可能不止一个,输出最后剩余数字个数;如输入“3,3,4,5,6,7,7”include<>include<>include<>void main{charstr100;printf"输入一组字符串:\n"; scanf"%s",&str;intlen=strlenstr;intarray100;intcount=0;forinti=0;i<len;i++{ifstri>='0'&&stri<='9' arraycount++=stri-'0';}arraycount='\0';intresult=count;intmin=array0;intmax=array0;forintj=0;j<count;j++{ifmax<arrayjmax=arrayj;elseifmin>arrayjmin=arrayj;}forintk=0;k<count;k++{ifarrayk==minresult--;ifarrayk==maxresult--;}printf"%d\n",result;}8.输入一组身高在170到190之间5个身高,比较身高差,选出身高差最小的两个身高;若身高差相同,选平均身高高的那两个身高;从小到大输出;如输入170 181173 186 190 输出170 173include<>include<>define N 5int main{intHeightN;intdmin;intH1,H2;inti,j,temp;printf"请输入一组身高在170到190之间的数据共5个:\n"; forintk=0;k<N;k++scanf"%d",&Heightk;printf"\n";fori=0;i<N;i++forj=1;j<N-i&&Heightj-1>Heightj;j++{temp=Heightj-1;Heightj-1=Heightj;Heightj=temp;}H1=Height0;H2=Height1;dmin=H2-H1;forintm=2;m<N;m++{ifHeightm-Heightm-1<=dmin{H1=Heightm-1;H2=Heightm;dmin=Heightm-Heightm-1;}}printf"身高差最小的两个身高为:\n";printf"%d,%d\n",H1,H2;return0;}9.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数; include <>include <>include <>include <>int delete_sub_strconst char str,constchar sub_str,char result{assertstr= NULL && sub_str = NULL;constchar p,q;chart,temp;p= str;q= sub_str;t= result;intn,count = 0;n= strlenq;temp= char mallocn+1; memsettemp,0x00,n+1; whilep{memcpytemp,p,n; ifstrcmptemp,q== 0 {count++; memsettemp,0x00,n+1; p= p + n;}else{t= p;p++;t++; memsettemp,0x00,n+1; }}freetemp;returncount;}void main{chars100 = {‘\0’};intnum = delete_sub_str“123abc12de234fg1hi34j123k”,”123”,s;printf“Thenumber of sub_str is %d\r\n”,num;printf“Theresult string is %s\r\n”,s;}10. 要求编程实现上述高精度的十进制加法;要求实现函数:void add const char num1,const char num2, char result输入num1:字符串形式操作数1,如果操作数为负,则num10为符号位'-'num2:字符串形式操作数2,如果操作数为负,则num20为符号位'-'输出result:保存加法计算结果字符串,如果结果为负,则result0为符号位; include<>include<>include<>void movechar str, int length描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:1 及格线是10的倍数;2 保证至少有60%的学生及格;3 如果所有的学生都高于60分,则及格线为60分输入:输入10个整数,取值0~100输出:输出及格线,10的倍数include<>void bubblesortint arr{inti,j,temp;fori=0;i<10;i++forj=0;j<9-i&&arrj>arrj+1;j++ {temp=arrj;arrj=arrj+1;arrj+1=temp;}}int GetPassLineint a{bubblesorta;ifa0>=60return60;elsereturninta4/1010;}main{inta10={0};intresult;printf"请随机输入10个成绩0-100:\n";scanf"%d%d%d%d%d%d%d%d%d%d",&a0,&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8,&a9; printf"\n";result=GetPassLinea;printf"及格线为:%d\n",result;return1;}12.描述:一条长廊里依次装有n1 ≤ n ≤ 65535盏电灯,从头到尾编号1、2、3、…n-1、n;每盏电灯由一个拉线开关控制;开始,电灯全部关着;有n个学生从长廊穿过;第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n 的倍数的电灯的开关拉一下;n个学生按此规定走完后,长廊里电灯有几盏亮着;注:电灯数和学生数一致;输入:电灯的数量输出:亮着的电灯数量样例输入:3样例输出:1include<>define Max_Bubl_Num 65535int GetLightLampNumint n{intBublNumMax_Bubl_Num={0}; 描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的;经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示;编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量含输入的起点和终点,换乘站点只计算一次;地铁线A环线经过车站:A1 A2 A3 A4 A5 A6A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18地铁线B直线经过车站:B1 B2 B3 B4 B5 T1B6 B7 B8 B9 B10 T2 B11 B12 B13 B14 B15输入:输入两个不同的站名输出:输出最少经过的站数,含输入的起点和终点,换乘站点只计算一次输入样例:A1 A3输出样例:3include<>include<string>include<queue>include<vector>using namespace std;define MAX 35define SUBWAY_A 20define SUBWAY_B 15typedef struct node{int adjvex;struct node next;}edgenode;typedef struct{char name10;bool flag;edgenode link;}vexnode;constcharsubway_name1SUBWAY_A10={"A1","A2","A3","A4","A5","A6","A7","A8","A9","T1 ","A10","A11","A12","A13","T2","A14","A15","A16","A17","A18"};constcharsubway_name2SUBWAY_B10={"B1","B2","B3","B4","B5","B6","B7","B8","B9","B1 0","B11","B12","B13","B14","B15"};void creatvexnode ga{int i;edgenode p;fori=0;i<MAX;i++{gai.link=NULL;gai.flag=true;ifi<SUBWAY_,subway_name1i;,subway_name2i-20;}ink=p;p=edgenodemallocsizeofedgenode; p->adjvex=i+1;p->next=NULL;gai.link->next=p;ifi==9{p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+4;p->next=NULL;gai.link->next->next=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+5;p->next=NULL;gai.link->next->next->next=p;}else ifi==14{p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+9;p->next=NULL;gai.link->next->next=p;p=edgenodemallocsizeofedgenode;p->adjvex=SUBWAY_A+10;p->next=NULL;gai.link->next->next->next=p;}}p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A-1;p->next=NULL;ga0.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=1;p->next=NULL;ga0.link->next=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A-2;p->next=NULL;gaSUBWAY_A-1.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=0;p->next=NULL;gaSUBWAY_A-1.link->next=p;ink=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+i+1;p->next=NULL;gai+SUBWAY_A.link->next=p;}p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+3;p->next=NULL;gaSUBWAY_A+4.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=9;p->next=NULL;gaSUBWAY_A+4.link->next=p;p=edgenodemallocsizeofedgenode; p->adjvex=9;p->next=NULL;gaSUBWAY_A+5.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+6;p->next=NULL;gaSUBWAY_A+5.link->next=p;p=edgenodemallocsizeofedgenode;p->adjvex=SUBWAY_A+8;p->next=NULL;gaSUBWAY_A+9.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=14;p->next=NULL;gaSUBWAY_A+9.link->next=p;p=edgenodemallocsizeofedgenode; p->adjvex=14;p->next=NULL;gaSUBWAY_A+10.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+11;p->next=NULL;gaSUBWAY_A+10.link->next=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+1;p->next=NULL;gaSUBWAY_A.link=p;p=edgenodemallocsizeofedgenode; p->adjvex=SUBWAY_A+SUBWAY_B-2; p->next=NULL;gaSUBWAY_A+SUBWAY_B-1.link=p; ame;edgenode s;s=gai.link;whiles=NULL{printf"->%s",gas->;s=s->next;}printf"\n";}}int main{vexnode gaMAX;creatga;int i;char str210;whilescanf"%s%s",str0,str1=EOF{ int temp=0;fori=0;i<MAX;i++{gai.flag=true;ifstrcmpstr0,temp=i;}queue<vexnode>q; gatemp;gatemp.flag=false;int count=0;int start=0;int end=1;bool find_flag=false;while{iffind_flag break;count++;printf"\n";printf"第%d层搜索:",count; int temp_end=end; whilestart<temp_end{ printf"%s",.name; ,str1{find_flag=true;break;}edgenode s;s=.link;whiles=NULL{ifgas->adjvex.flag{gas->adjvex;gas->adjvex.flag=false;end++;ame;}s=s->next;};start++;}printf"\n";}printf"%d\n",count;}return 0;}14. 字串转换问题描述:将输入的字符串字符串仅包含小写字母‘a’到‘z’,按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次;例如:aa 转换为bc,zz 转换为ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算;要求实现函数:voidconvertchar input,char output输入char input , 输入的字符串输出char output ,输出的字符串返回无include<>include<>include<>void convertchar input,char output{ifinput==NULLreturn;chartemp='\0';intlen_input=strleninput;inti;intflag=0;fori=0;i<len_input;i++{ifinputi=temp{outputi=inputi-'a'+1%26+'a';temp=inputi;flag=1;}else{ifflag==1{outputi=inputi-'a'+2%26+'a'; temp=inputi;flag=0;}else{outputi=inputi-'a'+1%26+'a'; temp=inputi;flag=1;}}}outputi='\0';}void main{charinput="xyz"; charoutput256;在给定字符串中找出单词“单词”由大写字母和小写字母字符构成,其他非字母字符视为单词的间隔,如空格、问号、数字等等;另外单个字母不算单词;找到单词后,按照长度进行降序排序,排序时如果长度相同,则按出现的顺序进行排列,然后输出到一个新的字符串中;如果某个单词重复出现多次,则只输出一次;如果整个输入的字符串中没有找到单词,请输出空串;输出的单词之间使用一个“空格”隔开,最后一个单词后不加空格;要求实现函数:void my_wordcharinput, char output输入char input, 输入的字符串输出char output,输出的字符串返回无include <>include <>include <>void my_wordchar input,charoutput{char p;char temp;char word10;int len_input=strleninput;int i,j;char except = ",";char blank = " ";i=0;for i=0;i<len_input;i++{if inputi<'A' || inputi>'Z'&&inputi<'a' ||inputi>'z' {inputi=',';}}j=0;/保存取出的单词/p= strtokinput,except;whileNULL=p{wordj++=p;p= strtokNULL,except;}printf"%s",wordi;/对单词按照长度降序排序,冒泡法/ for i=0;i<5;i++{for j=1;j<5-i;j++{ifstrlenwordj-1<strlenwordj{temp=wordj;wordj=wordj-1;wordj-1=temp;}}}/删除相同单词/{forj=i+1;j<5;j++{ifstrcmpwordi,wordj==0wordj="\0";}}/将单词连接起来输出/for j=0;j<5;j++{if 0==j{strncpy output,wordj,strlenwordj+1; }else{strcatoutput,blank;strcatoutput,wordj;}}return ;}int main{char input ="some local buses, some1234123drivers"; printf"筛选之前的字符串:%s\n",input;char output30;my_wordinput,output;printf"筛选之后的字符串:%s",output;printf"\n";return 0;}16. 数组中数字都两两相同,只有一个不同,找出该数字:int findUniqueint a, int len{int i = 1;int temp =a0;for; i <len; i++{temp= temp ^ ai;}printf"%d", temp;}17.题目二:数组中数字两两相同,有两个不同,找出这两个:include <>int a = {1,1,2,4,3,3,2,5};int findXorSumint a, int len{int i = 0;int temp =0;for; i <len; i++{temp= temp ^ ai;}return temp;}int findFirstBit1int n{int count =1;while n &1{n =n>>1;count++;}returncount;}int isBit1int a, int count{a= a >> count-1;returna & 1;}void findTwoUniqueint a, int len {int i = 0;int m = 0, n= 0;int temp =findXorSuma, len;int count =findFirstBit1temp;for; i <len; i++{ifisBit1ai,count{m= m ^ ai;}else{n= n ^ ai;}}printf"%d,%d", m, n;}int main{findTwoUniquea,8;}18.链表翻转;给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现思想:采用遍历链表,分成length/k组,对每组进行逆转,逆转的同时要将逆转后的尾和头连接起来链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g include <>include <>include <>typedef struct node{charval;structnode pNext;}Node;Node CreateListint n;void TraverslistNode pHead;Node TransNeighborNode pHead;int main{NodepHead = CreateList7;printf"beforetransform\n";TraverslistpHead;TransNeighborpHead;printf"\naftertransform\n";TraverslistpHead;getchar;return1;输入一串字符串,其中有普通的字符与括号组成包括‘’、‘’、‘’,'',要求验证括号是否匹配,如果匹配则输出0、否则输出1.include<>include<>入一行数字:1234235645875186523在输入第二行:23将第一行中含有第二行中“23”的数输出并排序结果即:123423186523include<>define M 20int main{int aM;int i,j,s,temp;int sortM,t=0;char c=' ';i=0;whilec='\n'{scanf"%d%c",&temp,&c;ai++=temp;scanf"%d",&s; forj=0;j<i;j++ {temp=aj; iftemp%100==s {sortt++=aj;}elsetemp/=10;}fori=0;i<t-1;i++ forj=0;j<t-i-1;j++ {ifsortj>sortj+1 {temp=sortj+1; sortj+1=sortj; sortj=temp;}}fori=0;i<t;i++printf"%d",sorti;printf"\n";return 0;}22输入m个字符串和一个整数n,把字符串M化成以N为单位的段,不足的位数用0补齐;如n=8m=9,include<>include<>int main{char c200={'\0'};scanf"%s",&c;int n,i,j;int len=strlenc;scanf"%d",&n;fori=1;i<=len;i++{j=i%n;printf"%c",ci-1;ifj==0printf"\n";}ifj=0fori=j+1;i<=n;i++printf"0";return 0;}23将电话号码onetwo;;;ninezero翻译成12;;90中间会有double例如输入:OneTwoThree输出:123输入:OneTwoDoubleTwo输出:1222输入:1Two2 输出:ERROR输入:DoubleDoubleTwo 输出:ERROR有空格,非法字符,两个Double相连,Double位于最后一个单词都错误include<>include<>include<>int main{chara1111={"zero","one","two","three","four","five","six","seven","eight","nine","dou ble"};char temp11, c=' ';int i,j,f,d=0;whilec='\n'{scanf"%s%c",&temp,&c;f=0;forj=0;j<11;j++{ifstrcmptemp,aj&&j<10 {printf"%d",j;f=1;ifd==1{printf"%d",j;d=0;}}elseifstrcmptemp,aj&&j==10 {d=1;f=1;}}iff==0break;}ifd==1||f==0printf"error\n";printf"\n";return 0;}24.将整数倒序输出,剔除重复数据include<>include<>include<>include<>int main{charinput=charmallocsizeofchar; scanf"%s",input;inta10={0},i,flag=0,flag1=0;int len=strleninput;ifinput0=='-'{flag=1;fori=0;i<len;i++inputi=inputi+1;}intlen1=strleninput;int n50,temp;int count=0;fori=0;i<len1;i++{temp=inputi-'0'; ifatemp==0{ncount++=temp; atemp=1;}}ncount='\0';ifflag==1 printf"-";forintii=count-1;ii>=0;ii-- {ifnii=0||flag1=0{printf"%d",nii;flag1=1;}}printf"\n";return 0;}25.编程的时候,if条件里面的“”、“”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确;同时输出语句中出现的左括号和右括号数量,如ifa==1&&b==1是正确的,而ifa==1&&b==1是错误的;注意if 语句的最外面至少有一对括号;提示:用堆栈来做;输入:ifa==1&&b==1输出:RIGTH 3 3输入:ifa==1&&b==1输出:WRONG 3 4include<>include<>int main{char s800={'\0'};scanf"%s",&s;.alen-1voidarray_iterateint len, int input_array, int m, int output_array {int startPos=0;int outPos;int nIter=len-1;int num=len;for; nIter>=0; nIter--{outPos=m+startPos-1%num;m=input_arrayoutPos;startPos=outPos;printf"outPos is %d, new m is%d\n", outPos, m;output_arraylen-nIter-1=input_arrayoutPos;forint i=outPos; i<num-1; i++input_arrayi=input_arrayi+1;num--;print_arraynum, input_array;}}voidmain{int input_array={3,1,2,4};int output_array4={0};array_iterate4, input_array, 7,output_array; print_array4, output_array;}27.统计数字出现的次数,最大次数的统计出来举例:输出:3,6include<>include<>include<>int main{inta10={0};intlen=strlennum;inti,j,temp,count=0,maxnum=0;printf"%d\n",len;fori=0;i<len;i++{temp=numi-'0';atemp++;}inttemp1=a0;forj=0;j<10;j++{ifaj=0{count++;temp1=temp1>ajtemp1:aj; printf"%d%d\n",aj,j;}}printf"数字出现次数为:%d\n",count; printf"最大次数为:%d\n",temp1; return0;}28. .字符串首字母转换成大写举例:输入:this is a book返回:This Is A Bookinclude<>include<>include<>int main{charinput="this is a book"; charoutput256={'\0'};int i,len;len=strleninput;printf"变换前的字符串为:%s\n",input; fori=0;i<len;i++{ifinput0=''input0-=32;ifinputi==''inputi+1-=32;outputi=inputi;}printf"变换后的字符串为:%s\n",output; }29.子串分离题目描述:。
华为认证试题及答案

华为认证试题及答案1.按调度器首先排除以下哪些条件的UE A.当前TTI处于异频测量GAP周期内 B.当前TTI处于DRX休眠期内 C.当前TTI上行失步 D.GBR速率未满足的 UE 答案:ABC2.RLC层支持以下哪些传输模式 A.AM B.UM C.TM D.CM答案:ABC3.下列哪个承载连接是在UE和S-GW之间 A.SRB B.E-RABC.EPS bearerD.DRB 答案:B4.关于RRC建立成功率描述,以下哪个选项是错误的 A.反映eNB或者小区的UE接纳能力B.RRC连接建立成功意味着UE与网络建立了信令连接C.RRC连接建立可以分两种情况:一种是与业务相关的RRC连接建立,另一种是与业务无关(如紧急呼叫、系统间小区重选、注册等)的RRC连接建立D.与业务无关的RRC连接建立是衡量呼叫接通率的一个重要指标,与业务相关的RRC 连接建立可用于考察系统负荷情况答案:D5.以下哪些情况下,手机会发起Service Request流程 A.当手机初始开机时B.当UE无RRC连接且有上行数据发起需求时C.当UE处于ECM IDLE态且有下行数据达到时D.UE发起位置更新答案:BC6.路测过程中,当设备异常断开连接、GPS信号不足时,Probe会以对话框或声音的方式提示,您可以自行设置特殊状况告警事件及告警方式 A.正确 B.错误答案:A7.LTE为了解决深度覆盖的问题,以下哪些措施是不可取的 A.增加LTE系统带宽B.降低LTE工作频点,采用低频段组网C.采用分层组网D.采用家庭基站等新型设备答案:A8.以下哪些因素可以产生弱覆盖 A.封闭场所B.站间距过大以下随机接入场景中,属于基于C.功率配置不合理D.立交桥答案:ABC9.关于LTE TDD帧结构,哪些说法是正确的A.每一个无线帧长度为10ms,由10个时隙构成B.每一个半帧由8个常规子帧和DWPTS、GP和UPPTS三个特殊时隙构成C.TDD上下行数据可以在同一频带内传输,可使用非成对频谱D.GP越小说明小区覆盖半径越大答案:C10.下列哪些信息不能由PUSCH承载 A.Transport format B.CQIC.HARQ feedbackD.RRC signaling 答案:A11.下列哪些是LTE网络规划所关注的关键指标 A.RSRP B.CRS SINR C.吞吐率 D.小区负载答案:ABCD12.事件B2表示异系统邻区信号质量变得高于对应门限 A.正确 B.错误答案:B13.Scheduling(调度) Request 达到最大发送次数后还未收到上行资源,终端将执行下列选项中的哪个动作 A.返回IDLEB.判定无线链路失败C.触发切换D.触发RACH流程答案:D14.MIB(master information block,主信息块)的TTI有多长 A.1 msB.10msC.40msD.80ms 答案:C15.E-UTRAN与UTRAN系统移动性管理可以通过多种方式实现,主要包含下列选项中的哪些 A.基于业务 B.基于距离C.基于上行链路质量D.业务频点分层控制答案:ABCD16.RRC连接建立成功次统计触发的信令是哪个 A.RRC connection setup B.RRC connection requestC.RRC connection setup completeD.RRC connection reconfiguration complete答案:C17.MME 负责处理用户面,而 S-GW负责处理信令面 A.正确 B.错误答案:B18.以下哪些场景要使用RIM过程 A.Flash CSFB B.PS CSFB O/NACC D.PS handover答案:AD19.LTE中,支持哪些CQI上报模式 A.静态CQI B.宽带CQI C.子带CQI D.动态CQI答案:BC20.LTE系统中,RRC状态有连接状态、空闲状态、休眠状态三种类型 A.正确 B.错误答案:B21.对于FDD,主同步信号在以下哪些时隙中传输 A.TS0 B.TS1 C.TS10 D.TS11 答案:AC22.以下哪个参数不用于异系统小区重选控制 A.slntraSearch(小区重选的同频测量触发门限)B.sNonintraSearch异频/异系统小区重选测量启动门限C.ThreshXHigh异频/异系统高优先级重选门限 D.ThreshXLow答案:A23.LTE协议规范中,层二不包括以下哪个协议层 A.NASB.RLCC.MACD.PDCP 答案:A24.RSRQ为参考信号接收质量,定义为RSRQ=NXRSRP/(E-UTRA Camer RSSI);其中,N为E-UTRA Camer RSSI 测量带宽中的RB个数 A.正确B.错误答案:A25.LTE路测指标中的掉线率指标表述不正确的是哪一项 A.掉线率=掉线次数/成功完成连接建立次数 B.掉线指:在终端正常进行数据传送过程中数据传送发送异常中断,包括RRC连接异常中断:或数据速率降为0并持续5秒C.掉线率指业务进行过程中发送业务异常中断的概率,即异常中断的次数与总业务进行次数之比D.掉线是指在手机没主发Disconnect 信令或没收到网络下发Disconnect/Release信令情况下,手机回到idle 状态,则视为一次掉话答案:D26.在eNodeB的MAC子层间的SAP是那个 A.逻辑信道 B.传输信道 C.物理信道 D.无线承载答案:A27.上行链路资源是有哪种DCI格式来分配的 A.0号DCI格式 B.1号DCI格式 C.1a号DCI格式 D.1b号DCI格式答案:A28.LTE网络下,TA用于寻呼位置管理,因TA规划的越小越好 A.正确 B.错误答案:B29以下选项哪些是OFDM的主要缺点 A.易造成自干扰,容量往往受限于上行 B.信号峰均比过高,能量利用效率不高 C.时间同步要求较高 D.频率同步要求较高答案:BD感谢您的阅读,祝您生活愉快。
华为笔试硬件测试题答案

华为笔试硬件测试题答案一、选择题1. 在数字电路中,以下哪个逻辑门可以实现输出低电平?A. 与门B. 或门C. 非门D. 异或门答案:C2. 以下哪种存储器是易失性的?A. ROMB. RAMC. EEPROMD. Flash Memory答案:B3. 在计算机系统中,总线的作用是什么?A. 连接CPU和内存B. 连接输入设备和输出设备C. 连接CPU和各种外围设备D. 连接硬盘和固态硬盘答案:C4. 以下哪种协议不是以太网的协议?A. TCPB. IPC. ARPD. UDP答案:A5. 在数字信号处理中,采样定理指的是什么?A. 采样频率必须高于信号最高频率的两倍B. 采样频率必须低于信号最高频率的两倍C. 采样频率必须等于信号最高频率D. 采样频率与信号频率无关答案:A二、填空题1. 在CMOS电路中,当NMOS和PMOS晶体管的宽度比为2:1时,输出的逻辑电平是__________。
答案:高电平2. 一个4位的二进制计数器,其计数状态的个数为__________。
答案:153. 一个完整的计算机网络系统包括两个主要部分:__________和__________。
答案:网络硬件、网络软件4. 在计算机中,RAM的英文全称是__________。
答案:Random Access Memory5. 以太网中,MAC地址的长度是__________位。
答案:48三、简答题1. 请简述什么是冯·诺依曼体系结构。
答:冯·诺依曼体系结构是一种计算机组织架构,它的核心思想是将程序指令和数据存储在同一个读写内存中,并通过一个中央处理单元(CPU)来执行指令和处理数据。
这种架构的主要特点是“存储程序”的概念,即程序以二进制形式存储在内存中,CPU可以按照程序指令顺序执行。
这种设计使得计算机能够灵活地执行各种程序,对现代计算机的发展产生了深远的影响。
2. 请解释什么是电磁兼容性(EMC)以及它在硬件测试中的重要性。
华为试题库(答案版多选)

多选题:1、下列说法中正确的有:(A、B、C、D)A、V-16.2需配合光功率放大板ABA2使用;B、U-16.2需配合前置放大板ABPA使用;C、ABA2同时完成两路光信号的透明放大功能;D、ABPA接收灵敏度可达-32dBm。
2、下列说法中正确的有:(A、B、D)A、1:N线路保护方式中N最大为14;B、1:N线路保护工作在双端倒换的方式下,必须使用自动倒换APS协议;C、单端倒换不需要协议,双端倒换才需要协议;D、1+1线性保护一般配为单端非恢复式的。
3、10GV2的SD16可插的单板槽位有:( A、C、D )A、1/2/9/10;B、11/12/19/20;C、4/5/6/7;D、14/15/16/17。
4、当两块光板对接后ECC不通,应检查如下数据:( ABCD )A.光板速率B.ECC端口使能C.使用的DCC字节D.光板存在告警5、OptiX SDH设备更换主控板时哪些数据需要事先准备好(ABCDE )A、待更换单板的基础ID、扩展ID 以及IP地址B、是否设置了扩展ECCC、是否保存了SPTP命令D、更换主控板前后版本是否一致6、关于2500+设备采用L16.2和Le16.2接口类型的光板说法正确的是:(BC)A、两者的传输距离和光接口参数是一样的,没有区别;B、L16.2是传送距离为80km的光板,平均发光功率典型值为0dbm;C、Le16.2是传送距离为100km的光板,平均发送光功率为+5dbm。
7、关于2500+XCS单板维护说明正确的是:(BCD)A、主备应用时SS61XCS、SS62CXS、63XCS可以任意组合;B、同一个网元上不可以使用SS61XCS与SS62XCS混合主备应用;C、一般情况下建议主备应用的两块XCS板的软硬件版本一致。
D、SS63XCS可以直接用于维护SS62XCS,可与SS62XCS互为主备8、设备加电前应检查哪些参数:(ABCDE)A、供电回路相互和对地均无短路现象B、接电联接牢固可靠C、供电设备的输出开关断开且输出电压正常D、额定输出电流满足受电设备需求E、受电设备全部电源开关断开9、如果检测到下列哪些告警,则往下一功能块插入全“1”信号,同时上报告警。
(完整版)华为试题答案

1)在计算机局域网中,常用通信设备有(abd ),A、集线器(HUB)B、交换机(Switch)C、调制解调器(Modem)D、路由器(Router)2)线缆标准化工作主要由哪一个协会制定? (c )A、OSIB、ITU-TC、EIAD、IEEE3)802协议族是由下面的哪——个组织定义? (c )A、OSIB、EIAC、IEEED、ANSI)衡量网络性能的两个主要指标为(AC)A、带宽B、可信度C、延迟D、距离)局域网区别与其他网络主要体现在以下(ABCD)方面A、网络所覆盖的物理范围B、网络所使用的传输技术C、网络的拓扑结构D、带宽)不会产生单点故障的是下列(ABC)拓扑结构。
A、总线型B、环型C、网状结构D、星形4)数据交换技术包括(abc )A、电路交换(Circuit switching)B、报文交换(Message switching)C、分组交换(Packet switching)D、文件交换(File switching)5)(b )拓扑结构会受到网络中信号反射的影响?A、网型B、总线型C、环型D、星型6)OSI参考模型按顺序有哪些?(c )A、应用层、传输层、数据链路层、网络层、物理层B、应用层、表示层、会话层、传输层、数据链路层、网络层、物理层C、应用层、表示层、会话层、传输层、网络层、数据链路层、物理层D、应用层、表示层、传输层、网络层、数据链路层、物理层7)在OSI七层模型中,网络层的功能有(b )A、确保数据的传输正确无误B、确定数据包如何转发与路由C、在信道上传送比特流D、纠错与流控8)在OSI七层模型中,(b )哪一层的实现对数据的加密。
A、传输层B、表示层C、应用层D、网络层9)网络层传输的数据叫做(b )A、比特B、包C、段D、帧10)TCP/IP协议栈中传输层的协议有(ac )A、TCPB、ICMPC、D、IP11)数据从上到下封装的格式为(b )A、比特包帧段数据B、数据段包帧比特C、比特帧包段数据D、数据包段帧比特12)物理层定义了物理接口的哪些特性?(abcd )A、机械特性B、电器特性C、功能特性D、接口特性13)细铜轴电缆(10Base2)传输距离达(ac ),粗铜轴电缆(10Base5)的传输距离为()A、185米B、200米C、500米D、485米)通常在网吧里,LAN采用的拓扑结构和网线类型为(C)A、总线型和STPB、总线型和UTPC、星形和UTPD、环型和STP)双绞线为什么能代替网络中的细同轴电缆?(D)A、双绞线电缆可靠性高B、双绞线电缆抗噪性更好C、细同轴电缆更廉价D、双绞线电缆更便于安装)在布线时,细缆和粗缆通常应用在(D)拓扑结构中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为机试题及答案1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。
请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。
测试:输入:“abc def gh i d”输出:“abc,def,gh,i,d,”#include<stdio.h>#include<string.h>void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr){int i=0,j=0;int flag=0;while(pInputStr[i]==' '){i++;}for(;i<lInputLen;i++){if(pInputStr[i]==' '){flag=1;continue;}if(flag==1){flag=0;pOutputStr[j++]=',';}pOutputStr[j++]=pInputStr[i];}pOutputStr[j++]=',';pOutputStr[j]='\0';}int main(){char test[40];char re[40];gets(test);DivideString(test, strlen(test), re);printf("%s",re);return 0;}2、将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。
例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。
测试:输入:char*input="abbbcd" 输出:char*output="bcdcde"#include<stdio.h>#include<string.h>void convert(char *input,char* output){int i;for(i=0;i<strlen(input);i++){if(i==0){output[i]=input[i]+1;if(output[i]==123){output[i]=97;}}else{if(input[i]!=input[i-1]).{output[i]=input[i]+1;if(output[i]==123){output[i]=97;}}else{output[i]=input[i]+2;if(output[i]==123){output[i]=97;}if(output[i]==124){output[i]=98;}}}}output[i+1]='\0';}int main(){char in[20]={"asdfzzxzxz"};char on[20];//gets(in);convert(in,on);printf("%s",on);return 0;}3、通过键盘输入一串小写字母(a~z)组成的字符串。
请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
测试:输入:“afafafaf” 输出:“af”#include<stdio.h>#include<string.h>void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr){int i,j,count;int k=0;for(i=0;i<strlen(pInputStr);i++){count=0;for(j=0;j<strlen(pOutputStr);j++){if(pInputStr[i]==pOutputStr[j]){count++;}}if(count==0){pOutputStr[k++]=pInputStr[i];}}pOutputStr[k]='\0';}int main(){char in[20]={"aabbccabacddsads"};char on[20];//gets(in);stringFilter(in,strlen(in),on);printf("%s",on);return 0;}4、通过键盘输入一串小写字母(a~z)组成的字符串。
请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
测试:输入:“cccddecc” 输出:“3c2de2c”#include<stdio.h>#include<string.h>void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr) {int i,j=0,num=0;int k=0;for(i=0;i<=lInputLen;i++){if(i&&pInputStr[i]!=pInputStr[i-1]){if(num>1){pOutputStr[j++]=(char)num+'0';}pOutputStr[j++]=pInputStr[i-1];num=1;}else{num++;}}pOutputStr[j]='\0';}int main(){char in[20]={"ccddecc"};char on[20];//gets(in);stringZip(in,strlen(in),on);printf("%s",on);return 0;}5、通过键盘输入100以正整数的加、减运算式,请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。
测试:输入:“4 - 7” 输出:“-3”#include<stdio.h>#include<string.h>#include<math.h>void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr) {int i,count=0,re=0;int x,y,z;int num[2]={0};char op;for(i=0;i<lInputLen;i++){if(pInputStr[i]==' '){count++;}}if(count!=2){pOutputStr[0]='0';pOutputStr[1]='\0';return;}for(x=0;pInputStr[x]!=' ';x++){if(pInputStr[x]>='0'&&pInputStr[x]<='9') {num[0]=num[0]*10+pInputStr[x]-'0';}else{pOutputStr[0]='0';pOutputStr[1]='\0';return;}}for(y=x+1;pInputStr[y]!=' ';y++){}if(y-x-1!=1){pOutputStr[0]='0';pOutputStr[1]='\0';return ;}else{if(pInputStr[y-1]!='+'&&pInputStr[y-1]!='-') {pOutputStr[0]='0';pOutputStr[1]='\0';return;}else{op=pInputStr[y-1];}}for(z=y+1;z<lInputLen;z++){if(pInputStr[z]>='0'&&pInputStr[z]<='9'){num[1]=num[1]*10+pInputStr[z]-'0';}else{pOutputStr[0]='0';pOutputStr[1]='\0';return;}}if(op=='+'){re=num[0]+num[1];}else{re=num[0]-num[1];}itoa(re,pOutputStr,10);}int main(){char in[20];char on[20];gets(in);arithmetic(in,strlen(in),on);printf("%s",on);return 0;}6、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n 表示评委总数。
打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4,总分取整。
如果没有大众评委,则总分 = 专家评委平均分,总分取整。
函数最终返回选手得分。
#include<stdio.h>#include<string.h>#include<math.h>int cal_score(int score[], int judge_type[], int n){int i=0,gscore;int pro=0,pub=0;int pro_count=0,pub_count=0;for(i=0;i<n;i++){if(judge_type[i]==1){pro_count++;pro=pro+score[i];}if(judge_type[i]==2){pub_count++;pub=pub+score[i];}}if(pub_count!=0){gscore=pro/pro_count*0.6+pub/pub_count*0.4;}else{gscore=pro/pro_count;}return gscore;}int main(){int score[5]={90,80,95,86,87};int judge_type[5]={1,2,2,1,1};int n=5;printf("%d",cal_score(score, judge_type, n));return 0;}7、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。