版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华为机试题及答案1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用,将其分隔,并且在最后也补充一个,并将子串存储。测试:输入:abc def gh i d,输出:“ abc,def,gh,i,d, ”#i nclude#i ncludevoid DivideStri ng(c onst char *pln putStr, Iong lln putLe n, char*pOutputStr)int i=0,j=0;int flag=0;while(pl nputStri=)i+;for(;ib,b-c,yz,za ;若输入的字符
2、串连续出现两个字母相 同时,后一个字母需要连续转换2次。例如:aa转换为be. zz转换为ab ;当 连续相同字母超过两个时,第三个出现的字母按第一次出现算。测试:输入:ehar*input=abbbcd输出:char*output=bcdcde#i nclude#i ncludevoid con vert(char *in put,char* output)int i;for(i=0;istrle n(in put);i+)if(i=0)outputi=i nputi+1;if(outputi=123)outputi=97;elseif(i nputi!=i nputi-1)outputi=
3、i nputi+1;if(outputi=123)outputi=97;elseoutputi=i nputi+2;if(outputi=123)outputi=97;if(outputi=124)outputi=9 8;outputi+1=l0,;int main()char in 20=asdfzzxzxz;char o n20; gets(i n);conv ert(i n,on);prin tf(%s,o n);return 0;3、通过键盘输入一串小写字母(az)组成的字符串。请编写一个字符串过滤程序, 若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。测试:输入:“afafa
4、faf”输出:“ af”#i nclude#i ncludevoid stri ngFilter(c onst char pin putStr, Ionglln putLe n, char*pOutputStr)int i,j,co unt;int k=0;for(i=0;istrle n(pln putStr);i+)coun t=0;for(j=0;jstrle n(pOutputStr);j+)if(pl nputStri=pOutputStrj)coun t+;if(co un t=0)pOutputStrk+=pl nputStri;pOutputStrk=0;int main()c
5、har in 20=HaabbccabacddsadsH;char o n20; gets(i n);stri ngFilter(i n, strle n(i n),o n);prin tf(”sjo n);return 0;4、通过键盘输入一串小写字母(az)组成的字符串。请编写一个字符串压缩程序, 将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。测试:输入:“ cccddecc” 输出:“ 3c2de2c”#i nclude#i ncludevoid stringZip(constchar *plnputStr, long llnputLen,char *pOutputStr)
6、int i,j=01num=0;int k=0;for(i=0;i1)pOutputStrj+=(char) nu m+O;pOutputStrj+=pl nputStri-1;nu m=1;elsenu m+;pOutputStrOJ=0,;int main()char in 20=ccddecc;char o n20; gets(i n);stri ngZip(i n,strle n(i n),on);prin tf(%s,o n);return 0;5、通过键盘输入100以正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为:“操作数1运算符操作数2”,“操作数”与
7、“运算符” 之间以一个空格隔开。测试:输入:“ 47”输出:“3”#i nclude #i nclude#in cludevoid arithmetic(constchar 水pinputStr,long llnputLen,char *pOutputStr)int i,co un t=O,re=O;int x,y,z;int num2=0;char op;for(i=0;i=0,&pl nputStrxv=9)nu m0=num0*10+pl nputStrM-O1;elsepOutputStr0=0;pOutputStr1=0;return;for(y=x+1;pl nputStry!=
8、:y+)if(y-x-1!=1)pOutputStr0=,0;pOutputStr1=,0,;return ;elseif(pl nputStry!二屮&pl nputStry-1 !=*-) pOutputStr0=0;pOutputStr1=0;return;else op=p In putStry-1;for(z=y+1;z=0&pl nputStrzv=9)nu 二num1*10+pl nputStrz-O; elsepOutputStr0=,0,; pOutputStr1=0,; return;if(op=+)re=nu m0+nu m;elsere=nu m0 卜 nu m;ito
9、a(re,pOutputStr, 10);int main()char in 20;char o n20;gets(i n);arithmetic n, strle n(i n),o n);return 0;6选秀节目打分,分为专家评委和大众评委,score数组里面存储每个评委打的分数,judge_type里存储与scoreQ数组对应的评委类别,judge_typei = 1,表示专家评委,judge_typei = 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分二专家评委平均分*0.6 +大众评委*0.4,总 分取整。如
10、果没有大众评委,则总分二专家评委平均分,总分取整。函数最终返回选手得分。#i nclude#i nclude#in cludeint cal_score(i nt scorefl, int judge_type, int n)int i=01gscore;int pro=01pub=0;int pro_co un t=0,pub_c oun t=0;for(i=0;i judge_type, n);return 0;7、给定一个数组input,如果数组长度n为奇数,则将数组中最大的元素放 到 output数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output数组中间两个
11、位置偏右的那个位置上,然后再按从大到小的顺序,依次在 第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。例如:inputO = 3, 6, 1,9, 7 output = 3, 7, 9, 6,1;input=3, 6, 1,9, 7, 8 output = 1,6, 8, 9, 7, 3#i nclude#i nclude#in cludevoid sort(i nt in put, i nt n, int output)int i,j,k,a;int temp;for(i=0;i n;i+)for(j=0;j n-i-1 ;j+)if(i nputji nputj+1)temp=in
12、 putj+1;in putj+1=in putOJ;in putj=temp;k=1;a=1;output n/2=in putO;while(k n)output n/2-a=i nputk+;a+;output n/2+a-1=i nputk+;int main() in tin put 5=99,80,95,86,87;int output5;int n=5 j;sort(i nput, n,o utput);for(i=0;i n;i+)printf(%d ,outputi);return 0;&操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。 其中,系统任务的优先级=
13、50且=255o优先级大于255的为非 法任务,应予以剔除。现有一任务队列task,长度为n, task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将 task冲的任务按照系统任务、用户任务依次存放到system_task数组和user_task数组中(数组中元素的值是任务在task数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入队顺序排列(即先入队的 任务排在前面),数组元素为表示结束。例如:taskQ = 0, 30, 155, 1, 80, 300, 170, 40, 99 system_task=0, 3, 1,7, -1 u
14、ser_task = 4, & 2, 6,-1#i nclude#i nclude #in clude void scheduler(i nt task, int n, int system_task, int user_task)int a=O,b=O;for(i=0;i n;i+)if(taski=50&taski=250)user_taskb+=i;for(i=0;ia;i+)for(j=0;jtasksystem_taskO+1 ) temp=system_taskj+1;system_taskj+1 =system_task|j; system_taskj=temp;for(i=0;ib;i+)for(j=0;jtaskuser_taskj+1 ) user_taskj+1=user_taskj;temp=user_taskj+1;user_taskj=temp;system_taska=-1;user_taskb=-1;int main() int task9 = 0, 30,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度版权许可合同许可方式
- 2024年城市轨道交通建设与运营管理承包合同
- 2024小产权房买卖合同(买方)范本
- 2024年度通信工程安全施工质量保证合同
- 2024年度学生转学与安全责任承诺合同
- 2024年度物业租赁合同:高端商务楼物业管理与租赁合同
- 2024年广告投放合同投放策略与违约金
- 2024年家具企业员工股权激励计划合同
- 2024年度影视制作合同标的及制作要求
- 2024丙丁双方关于合作开展物流业务的战略合作协议
- 大班幼儿学情分析报告
- 北师大版三年级数学上册第六单元《乘法》(大单元教学设计)
- 纺织品购销合同(5篇)
- 体育市场营销智慧树知到期末考试答案章节答案2024年西华大学
- 【课件】第15课+权力与理性-17、18世纪西方美术+课件-高中美术人教版(2019)美术鉴赏
- 儿童早期的认知发展-皮亚杰前运算阶段(三座山实验)
- 2024年极兔速递有限公司招聘笔试参考题库附带答案详解
- 2024年威士忌酒相关公司行业营销方案
- 网络游戏危害课件
- 2024供电营业规则学习课件
- 铁路给水排水设计规范(TB 10010-2016)
评论
0/150
提交评论