欢迎来到天天文库
浏览记录
ID:30988620
大小:71.39 KB
页数:17页
时间:2019-01-05
《华为笔试题——编程题及答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、问题:输入一个字符串,用指针求出字符串的长度。答案:#includeintmain(){charstr[20],*p;intlength=O;printfC'Pleaseinputastring:");gets(str);p=str;while(*p++){length++;}printfC'Thelengthofstringis%d'length);return0;)问题:使用c语言实现字符串中子字符串的替换描述:编写一个字符串替换函数,如函数名为StrReplace(char*strSrc,char*strFind,char*strRe
2、place),strSrc为原字符串,strFind是待替换的字符串,strReplace为替换字符串。举个氏观的例子吧,如:“ABCDEFGHIJKLMNOPQRSTUVWXYZ"这个字符串,把其屮的“RST”替换为“ggg”这个字符串,结果就变成了:ABCDEFGHIJKLMNOPQgggUVWXYZ答案一:#include#includevoidStrReplace(char*strSrc,char*strFind,char*strReplace);#defineM100;voidmain(){chars[]="ABCD
3、EFGHIJKLMNOPQRSTUVWXY乙';charsl[]=RST”;chars2[]=MgggH;StrReplace(s,sl,s2);printf(M%s",s);return0;}voidStrRcplacc(char*strSrc,char*strFind,char*strReplace){inti=0;intj;intn=strlen(strSrc);intk=strlen(strFind);for(i=0;i4、==*(strFind+j)){*(strSrc+i+j)=*(strReplace+j);elsecontinue;问题:编写一个程序实现功能:将字符串”ComputerSecienc皆赋给一个字符数组,然后从第一个字母开始间隔的输出该串,用指针完成。答案:#include#includeintmain(){charstr[]=^ComputerScience";intflag=l;char*p=str;while(*p){if(flag){printf(“%c';*p);)flag=(flag+1)%2;P++;}prin5、tfW);return0;}问题:编写一个程序实现功能:将两个字符串合并为一个字符串并且输出,用指针实现。charstrl[20]={uHellostr2[20]={uWorld”};答案:#includeintmain(){charstr1[20]=广Hello”},str2[20]={"World”};char*p=strl,*q=str2;while(*p)p++;while(*q){*p=*q;P++;q++;}*p=W;printf(“%s",strl);return0;}问题:以下函数的功能是用递归的方法计算X的n阶勒让德多项式的6、值。已有调用语句P(n,x);编写函数实现功能。递归公式如下:1(n=0)匕O)=(n=1)(⑵?-I)",—(x)-(n-l)Pn_2(x))/n(n>1)答案:#includefloatp(intx,intn)floatt,tl,t2;if(n==0)return1;elseif(n==1)returnx;else11=(2*n-1)*x*p(x,(n-1));t2=(n-l)*p(x,(n-2));t=(tl-t2)/n;returnt;intmain(){intx,n;printf(uinputtwoint(xandn)T);scanf(7、“%h%d'',&x,&n);printf(''%.2fiT,p(x,n));return0;}问题:给主函数传递参数实现echo功能:答案:#incldueintmain(intargc.char*argvfl){inti=l;while(i8、数组{1,
4、==*(strFind+j)){*(strSrc+i+j)=*(strReplace+j);elsecontinue;问题:编写一个程序实现功能:将字符串”ComputerSecienc皆赋给一个字符数组,然后从第一个字母开始间隔的输出该串,用指针完成。答案:#include#includeintmain(){charstr[]=^ComputerScience";intflag=l;char*p=str;while(*p){if(flag){printf(“%c';*p);)flag=(flag+1)%2;P++;}prin
5、tfW);return0;}问题:编写一个程序实现功能:将两个字符串合并为一个字符串并且输出,用指针实现。charstrl[20]={uHellostr2[20]={uWorld”};答案:#includeintmain(){charstr1[20]=广Hello”},str2[20]={"World”};char*p=strl,*q=str2;while(*p)p++;while(*q){*p=*q;P++;q++;}*p=W;printf(“%s",strl);return0;}问题:以下函数的功能是用递归的方法计算X的n阶勒让德多项式的
6、值。已有调用语句P(n,x);编写函数实现功能。递归公式如下:1(n=0)匕O)=(n=1)(⑵?-I)",—(x)-(n-l)Pn_2(x))/n(n>1)答案:#includefloatp(intx,intn)floatt,tl,t2;if(n==0)return1;elseif(n==1)returnx;else11=(2*n-1)*x*p(x,(n-1));t2=(n-l)*p(x,(n-2));t=(tl-t2)/n;returnt;intmain(){intx,n;printf(uinputtwoint(xandn)T);scanf(
7、“%h%d'',&x,&n);printf(''%.2fiT,p(x,n));return0;}问题:给主函数传递参数实现echo功能:答案:#incldueintmain(intargc.char*argvfl){inti=l;while(i8、数组{1,
8、数组{1,
此文档下载收益归作者所有