欢迎来到天天文库
浏览记录
ID:1670585
大小:208.50 KB
页数:17页
时间:2017-11-13
《华为上机笔试题——byxiannv》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数voidStringchang(constchar*inpu,char*output)其中input是输入字符串,output是输出字符串#include#includevoidStringchang(constchar*input,char*output){constchar*p=input;/*if(input==NULL){printf("ERROR
2、");//用这种表示方式可否?return;//用return好不好?}*/assert(input!=NULL);while(*p!=' '){if((*p>='a')&&(*p<='y')
3、
4、(*p>='A')&&(*p<='Y'))*output=*p+1;elseif(*p=='z'
5、
6、*p=='Z')*output=*p+1-26;else*output=*p;output++;p++;}*output=0;}voidmain(){chara[11]={"abc"};//如何模拟空指针的情况charb[11];Stringchang(a
7、,b);printf("%s",b);}2.求一个整型数字中有没有相同的部分,例如12389756123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。函数为intsame(intnum)其中num是输入的整型数字#includeusingnamespacestd;intsame(intnum)//整数值的范围:longint为-2(共10位)到正2开头共10位;unsigned//longint为从0到4的共10位数{chara[11];inti=0,m=0,j=0;whi
8、le(num){a[i]=num%10+'0';num=num/10;i++;j++;}i=0;intk=j;while(i>a;b=same(a);cout<
9、#include#includeusingnam
10、espacestd;voidmul(char*input1,intn,char*input2,intm,char*output){longintnum1=0,num2=0,num3=0;//char*p1=input1;char*p2=input2;inti=0,j=0,temp;intsign1=0,sign2=0;assert(input1!=NULL&&input2!=NULL);//以下程序是将input1字符串转换为数字,考虑到了字符串中第一个字符为‘+’或者‘-’号的情况,//同时考虑到了非法输入时的处理情况。if(*input1=='
11、-'){input1++;sign1=1;}if(*input1=='+')input1++;while(*input1!=' '){assert(*input1<='9'&&*input1>='0');num1=num1*10+(*input1-'0');input1++;}if(sign1==1)num1=-num1;//以下程序是将input2字符串转换为数字,考虑到了字符串中第一个字符为‘+’或者‘-’号的情况,//同时考虑到了非法输入时的处理情况。if(*input2=='-'){input2++;sign2=1;}if(*input2
12、=='+')input2++;while(*input2!=' '){assert(*input2<='9'&&*inp
此文档下载收益归作者所有