欢迎来到天天文库
浏览记录
ID:18511907
大小:55.50 KB
页数:10页
时间:2018-09-19
《华为最新笔试题——编程题及答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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
2、*strReplace),strSrc为原字符串,strFind是待替换的字符串,strReplace为替换字符串。举个直观的例子吧,如:“ABCDEFGHIJKLMNOPQRSTUVWXYZ”这个字符串,把其中的“RST”替换为“ggg”这个字符串,结果就变成了:ABCDEFGHIJKLMNOPQgggUVWXYZ答案一:#include#includevoidStrReplace(char*strSrc,char*strFind,char*strReplace);#defineM100;voidmain(){c
3、hars[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";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)==*(strFind+j)){*(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是替换字符串5、puts("Pleaseinputthestringfors:");scanf("%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<6、string.h>#defineM100voidStrReplace(char*strSrc,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!=' '){7、if(*strSrc==*strFind){if(strncmp(strSrc,strFind,strlen(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((*str8、Src++=*q++)!=' ');}else{strSrc++;}}else{strSrc
4、strSrc+i+j)==*(strFind+j)){*(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是替换字符串
5、puts("Pleaseinputthestringfors:");scanf("%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<
6、string.h>#defineM100voidStrReplace(char*strSrc,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!=' '){
7、if(*strSrc==*strFind){if(strncmp(strSrc,strFind,strlen(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((*str
8、Src++=*q++)!=' ');}else{strSrc++;}}else{strSrc
此文档下载收益归作者所有