华为机试题及答案

上传人:夏** 文档编号:487718413 上传时间:2023-12-10 格式:DOC 页数:10 大小:62KB
返回 下载 相关 举报
华为机试题及答案_第1页
第1页 / 共10页
华为机试题及答案_第2页
第2页 / 共10页
华为机试题及答案_第3页
第3页 / 共10页
华为机试题及答案_第4页
第4页 / 共10页
华为机试题及答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《华为机试题及答案》由会员分享,可在线阅读,更多相关《华为机试题及答案(10页珍藏版)》请在金锄头文库上搜索。

1、华为机试题及答案1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格 分 隔。请编写一个程序,自动分离出各个子串,并使用 ,将 其分隔,并且在最后 也 补充一个 并, 将子串存储。测试:输入: “abc def gh id”输出: “abc,def,gh,i,d, ”#include#includevoid DivideString(const char *pInputStr, long lInputLen, char *pOutputStr) int i=0,j=0;int flag=0; while(pInputStri= ) i+; for(;ib,b-c,y-z,z-

2、a ;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa转换为bc, zz转换为ab;当连续相 同字母超过两个时,第三个出现的字母按第一次出现算。测试:输入: char*input=abbbcd 输出: char*output=bcdcde#include#include void convert(char *input,char* output)int i; for(i=0;istrlen(input);i+) if(i=0)outputi=inputi+1; if(outputi=123)outputi=97;elseif(inputi!=inputi-1)out

3、puti=inputi+1; if(outputi=123) outputi=97;elseoutputi=inputi+2; if(outputi=123) outputi=97; if(outputi=124) outputi=98;outputi+1=0;int main()char in20=asdfzzxzxz;char on20; /gets(in); convert(in,on); printf(%s,on);return 0;3、通过键盘输入一串小写字母(az)组成的字符串。请编写一个字符串过滤程序若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。测试:输入:“ afaf

4、afaf ” 输出:“ af ”#include#includevoid stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)int i,j,count;int k=0;for(i=0;istrlen(pInputStr);i+)count=0;for(j=0;jstrlen(pOutputStr);j+) if(pInputStri=pOutputStrj) count+;if(count=0)pOutputStrk+=pInputStri; pOutputStrk=0;int main()char in2

5、0=aabbccabacddsads;char on20;/gets(in); stringFilter(in,strlen(in),on);printf(%s,on);return 0;4、通过键盘输入一串小写字母 ( az) 组成的字符串。请编写一个字符串压缩程序将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。测试:输入:“ cccddecc ” 输出:“ 3c2de2c ”#include#includevoid stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)int i,j=0,num=0;

6、int k=0; for(i=0;i1) pOutputStrj+=(char)num+0; pOutputStrj+=pInputStri-1; num=1;elsenum+;pOutputStrj=0;int main()char in20=ccddecc;char on20;/gets(in); stringZip(in,strlen(in),on); printf(%s,on);return 0;5、通过键盘输入 100 以内正整数的加、减运算式,请编写一个程序输出运算结 果 字符串。输入字符串的格式为:“操作数 1 运算符操作数 2”,“操作数”与“运算符”之间 以一个空格隔开测试:

7、输入: “4- 7 ” 输出: “-3”#include#include#includevoid arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr) int i,count=0,re=0;int x,y,z;int num2=0;char op; for(i=0;i=0&pInputStrx=9)num0=num0*10+pInputStrx-0;else pOutputStr0=0; pOutputStr1=0; return;for(y=x+1;pInputStry!= ;y+) if(y-x-1!=1)

8、pOutputStr0=0;pOutputStr1=0;return ;elseif(pInputStry-1!=+&pInputStry-1!=-) pOutputStr0=0; pOutputStr1=0; return;elseop=pInputStry-1;for(z=y+1;z=0&pInputStrz=9) num1=num1*10+pInputStrz-0;elsepOutputStr0=0; pOutputStr1=0; return;if(op=+)re=num0+num1;elsere=num0-num1;itoa(re,pOutputStr,10);int main()c

9、har in20;char on20;gets(in);arithmetic(in,strlen(in),on);printf(%s,on);return 0;6、选秀节目打分,分为专家评委和大众评委,score 数组里面存储每个评委打 的分数, judge_type 里存储与 score 数组对应的评委类别, judge_typei = 1 ,表n 表示评委总数。打分 规则如示专家评委, judge_typei = 2 ,表示大众评委, 下:专家评委和大众评委的分数先分别取一个平均分 (平均分取整 ),然 后,总分 =#include专家评委平均分 * 0.6 + 大众评委 * 0.4 ,总

10、分取整。如果没有大 众评委,则 总分 =专家评委平均分,总分取整。函数最终返回选手得分#include#includeint 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;in;i+)if(judge_typei=1)pro_count+; pro=pro+scorei;if(judge_typei=2)pub_count+;pub=pub+scorei;if(pub_count!=0) gscore=pro/pro_co

11、unt*0.6+pub/pub_count*0.4; elsegscore=pro/pro_count;return gscore;int main()int score5=90,80,95,86,87;int judge_type5=1,2,2,1,1;int n=5;printf(%d,cal_score(score, judge_type, n);return 0; 7、给定一个数组 input ,如果数组长度 n 为奇数,则将数组中最大的元素放 到output 数组最中间的位置,如果数组长度 n 为偶数,则将数组中最大的元 素放到 output 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺 序,依次在第 一个位置的两边,按照一左一右的顺序,依次存放剩下的数。 例如: input = 3, 6,input = 3, 6, 1, 9, 7, 81, 9, 7 output = 3, 7, 9, 6, 1;output = 1, 6, 8, 9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号