华为2013校园招聘上机笔试题-对源字符串中的字符串进行查找替换
2013华为校园招聘机试题9月10日题
题目及参考解答来源:http://blog.csdn.net/caollcool/article/details/7971237
3.【功能】 对源字符串中得字符串进行查找替换 并返回动态申请空间的指针 char* Fun(char* pSrc, char* pOldStr, char* pNewStr);
【输入】pSrc 源字符串
pOldStr 需要被替换的字符串
pNewStr 替换的新的字符串
【返回】替换后的新的字符串的指针
#include <stdio.h> #include <stdlib.h> #include <string.h> char* Fun(char* pSrc, char* pOldStr, char* pNewStr) { int lenOld=strlen(pOldStr); char* pSlow=pSrc; char* pFast=pSrc; char* pResault=new char[100]; char* pWrite=pResault; while(pFast=strstr(pFast,pOldStr)) { for(;pSlow!=pFast;pSlow++) { *pWrite++=*pSlow; } pFast=pFast+lenOld; pSlow=pFast; for(char* p=pNewStr;*p!='\0';p++) { *pWrite++=*p; } } for(;*pSlow!='\0';pSlow++) *pWrite++=*pSlow; *pWrite='\0'; return pResault; } void main() { char* pSrc="findwellgoodwell"; char* pOldStr="well"; char* pNewStr="bad"; char *Re; Re=Fun(pSrc, pOldStr, pNewStr); printf("源 字 符 串:%s\n需要替换的字符串:%s\n替 换 为:%s\n",pSrc, pOldStr, pNewStr); printf("替换后为:%s",Re); free(Re); }
posted on 2012-09-18 21:42 Raphael Lou 阅读(276) 评论(0) 编辑 收藏 举报