欢迎来到天天文库
浏览记录
ID:52925252
大小:100.67 KB
页数:10页
时间:2020-04-01
《华为最新笔试题——编程题及答案.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、问题:输入一个字符串,用指针求出字符串的长度。答案:#includeintmain(){charstr[20],*p;intlength=0;printf(“Pleaseinputastring:”);gets(str);p=str;while(*p++){length++;}printf(“Thelengthofstringis%d”,length);return0;}问题:使用C语言实现字符串中子字符串的替换描述:编写一个字符串替换函数,如函数名为StrReplace(char*strSrc,char*strFind,char*strRepla
2、ce),strSrc为原字符串,strFind是待替换的字符串,strReplace为替换字符串。举个直观的例子吧,如:“ABCDEFGHIJKLMNOPQRSTUVWXYZ”这个字符串,把其中的“RST”替换为“ggg”这个字符串,结果就变成了:ABCDEFGHIJKLMNOPQgggUVWXYZ答案一:#include#includevoidStrReplace(char*strSrc,char*strFind,char*strReplace);#defineM100;voidmain(){chars[]="ABCDEFGHIJ
3、KLMNOPQRSTUVWXYZ";chars1[]="RST";chars2[]="ggg";StrReplace(s,s1,s2);printf("%s",s);}voidStrReplace(char*strSrc,char*strFind,char*strReplace){inti=0;intj;intn=strlen(strSrc);intk=strlen(strFind);for(i=0;i4、*(strSrc+i+j)=*(strReplace+j);}elsecontinue;}}}}答案二:#include#defineMAX100StrReplace(char*s,char*s1,char*s2){char*p;for(;*s;s++){for(p=s1;*p&&*p!=*s;p++);if(*p)*s=*(p-s1+s2);}}intmain(){chars[MAX];//s是原字符串chars1[MAX],s2[MAX];//s1是要替换的//s2是替换字符串puts("Pleaseinputthestringfors:");sc5、anf("%s",s);puts("Pleaseinputthestringfors1:");scanf("%s",s1);puts("Pleaseinputthestringfors2:");scanf("%s",s2);StrReplace(s,s1,s2);puts("Thestringofsafterdisplaceis:");printf("%s",s);return0;}答案三:#include#include#include#defineM100voidStrReplace(char*strSr6、c,char*strFind,char*strReplace);intmain(){chars[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";chars1[]="RST";chars2[]="gggg";StrReplace(s,s1,s2);printf("%s",s);return0;}voidStrReplace(char*strSrc,char*strFind,char*strReplace){while(*strSrc!=' '){if(*strSrc==*strFind){if(strncmp(strSrc,strFind,strlen7、(strFind))==0){inti=strlen(strFind);intj=strlen(strReplace);printf("i=%d,j=%d",i,j);char*q=strSrc+i;printf("*q=%s",q);while((*strSrc++=*strReplace++)!=' ');printf("strSrc-1=%s",strSrc-1);printf("*q=%s",q);while((*strSrc++=*q++)!=' ');}else{strSrc++;}}else{strSrc
4、*(strSrc+i+j)=*(strReplace+j);}elsecontinue;}}}}答案二:#include#defineMAX100StrReplace(char*s,char*s1,char*s2){char*p;for(;*s;s++){for(p=s1;*p&&*p!=*s;p++);if(*p)*s=*(p-s1+s2);}}intmain(){chars[MAX];//s是原字符串chars1[MAX],s2[MAX];//s1是要替换的//s2是替换字符串puts("Pleaseinputthestringfors:");sc
5、anf("%s",s);puts("Pleaseinputthestringfors1:");scanf("%s",s1);puts("Pleaseinputthestringfors2:");scanf("%s",s2);StrReplace(s,s1,s2);puts("Thestringofsafterdisplaceis:");printf("%s",s);return0;}答案三:#include#include#include#defineM100voidStrReplace(char*strSr
6、c,char*strFind,char*strReplace);intmain(){chars[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";chars1[]="RST";chars2[]="gggg";StrReplace(s,s1,s2);printf("%s",s);return0;}voidStrReplace(char*strSrc,char*strFind,char*strReplace){while(*strSrc!=' '){if(*strSrc==*strFind){if(strncmp(strSrc,strFind,strlen
7、(strFind))==0){inti=strlen(strFind);intj=strlen(strReplace);printf("i=%d,j=%d",i,j);char*q=strSrc+i;printf("*q=%s",q);while((*strSrc++=*strReplace++)!=' ');printf("strSrc-1=%s",strSrc-1);printf("*q=%s",q);while((*strSrc++=*q++)!=' ');}else{strSrc++;}}else{strSrc
此文档下载收益归作者所有