1 / 11
文档名称:

华为机试题及答案.doc

格式:doc   大小:41KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

华为机试题及答案.doc

上传人:书犹药也 2019/10/14 文件大小:41 KB

下载得到文件列表

华为机试题及答案.doc

文档介绍

文档介绍:华为机试题及答案华为机试题及答案1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。测试:输入:“abcdefghid”输出:“abc,def,gh,i,d,”#include<>#include<>voidDivideString(constchar*pInputStr,longlInputLen,char*pOutputStr){ inti=0,j=0; intflag=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'; }intmain(){ chartest[40]; charre[40]; gets(test); DivideString(test,strlen(test),re); printf("%s",re); return0;}2、将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa转换为bc,zz转换为ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。测试:输入:char*input="abbbcd" 输出:char*output="bcdcde"#include<>#include<>voidconvert(char*input,char*output){ inti; 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';}intmain(){ charin[20]={"asdfzzxzxz"}; charon[20]; //gets(in); convert(in,on); printf("%s",on); return0;}3、通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。测试:输入:“afafafaf”输出:“af”#include<>#include<>voidstringFilter(constchar*pInputStr,longlInputLen,char*pOutputStr){ inti,j,count; intk=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';}intmain(){ charin[20]={"abacddsads"}; charon[20]; //gets(in); stringFilter(in,strlen(in),on); printf("%s",on); return0;}4、通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。测试:输入:“”输出:“3c2de2c”#include<>#include<>voidstringZip(constchar*pInputStr,longlInpu