好文档 - 专业文书写作范文服务资料分享网站

华为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='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<

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'; }

0k9p38fxkv7s7tu44gpx
领取福利

微信扫码领取福利

微信扫码分享