版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、字符串练习题1. 字符串常用函数编程实现。(1) 求长度:int myStrLen( const char *str )(2) 字符串拷贝: char *myStrCpy( char *strSource, const char *strTarget)char *p1, *p2;for( p1=strSource, p2=strTarget; *p2 !=0; p1+, p2+) *p1 = *p2;*p1=0;P1=strSource; p2=strTarget;While( *p1+ = *p2+ ) ;(3) 字符串连接: char *myStrCat( char *strSource,
2、 const char *strTarget)char *p1, *p2;/指针要移到字符串strSource的末尾while( *p1 != 0 ) p1+;/while( *p1+);p2=strTarget;while (*p2!=0)*p1=*p2; p1+;p2+;*p1=0;/while(*p1+=*p2+) ; (4) 字符串比较: int myStrCmp(const char * str1, const char * str2)2. 判断字符串是否回文。是回文,返回1, 不是,则返回0.int isHuiWen(const char * str )int flag=0;/先设
3、为不是,返回0char *pstart, *pend;/指向字符中头、尾的指针pend = str;while ( *pend ) pend+;/将pend移到字符串末尾pend-; /退回到最后一个有效字符处/开始判断pstart = str;while ( *pstart = *pend && pstart < pend )/前后端字符相同,且未比较完pstart+; pend-; /移动指针if( pstart < pend ) return 0;/不是回文else return 1;3. 字符串替换函数。(在字符串str中查找是否有子串source,若有,将
4、其替换为target子串。替换成功返回1,替换不成功返回0.int strReplace( char * str, char *source, char * target)/这道题出超界了,改改3. 在字符串str中查找是否有字符source,若有,将其替换为字符target。替换成功返回1,替换不成功返回0.int strReplace(char *str, char source, char target)int flag=0;/替换是否成功的标识while( *str )if( *str = source )/找到了*str = target;flag = 1;/有过替换,则更新替换成功
5、标识str+;return flag;4. 识别字符串中的整数并转换为数字形式。(华为笔试题)问题描述:识别输入字符串中所有的整数,统计整数个数并将这些字符串形式的整数转换为数字形式整数。要求实现函数:void take_num( const char *str, int *n, unsigned int *outArray)【输入】str : 输入的字符串【输出】n: 统计识别出来的整数个数outArray:识别出来的整数值,其中outArray0是输入字符串中从左到右第一个整数,outArray1是第二个整数,依此类推。【返回】无注:(1)、不考虑字符串中出现的正负号(+、-),即所有转换
6、结果为非负整数(包括0和正整数)(2)、不考虑转换后整数超出范围情况,即测试用例中可能出现的最大整数不会超过unsigned int可处理的范围(3)、需要考虑0开始的数字字符串情况,比如”00035”,应转换为整数35;”000”应转换为整数0;”00.0035”应转换为整数0和35(忽略小数点:mmm.nnnnnn当成两个整数mmm和nnnnnn来识别)(4)输入字符串假定不会超过100字节。【示例】输入:ab00cd+123fght456-25 3.005fgh输出:n=6outArray=0, 123, 456, 25, 3, 5void take_num( const char *s
7、tr, int *n, unsigned int *outArray)int isnum = 0; /定义一个是否为数字的标识,0-不是,1-是int num; /数字字符对应的整数数字*n = 0;/整数个数清0while( *str )/字符串未处理完毕if( *str>='0' && *str<='9' )/是数字字符num = *str - '0' /转换为数字形式if( isnum ) /如果前一个字符是数字字符,则当前字符是某个整数的非第1个数字字符outArray*n = outArray*n * 10 + num;else /前一个字符不是数字字符,则当前字符是某个整数的第1个数字字符outArray*n = num; /直接赋值isnum = 1; /置出现了数字的标识/如果下一个字符不是数字字符,则 整数个数要加1if( *(str+1) <'0' | *(str+1) >'9' )(*n)+;else /如果不是数字字符,则置不是数字字符的标识isnum = 0;str+;main( )char s100; int n=0 , i;unsigned int out100=0;gets( s);take_num( s, &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年及未来5年市场数据中国镍钴锰酸锂行业发展潜力分析及投资战略咨询报告
- 2025年高职(商务单证实训)单证实训综合测试试题及答案
- 2025年高职地质调查与找矿(矿产资源勘探)试题及答案
- 2025年中职汽车电子技术(汽车应用)试题及答案
- 2025年高职劳动与社会保障(社会保障基金管理)试题及答案
- 2025年大学水产科学(水产营养研究)试题及答案
- 2025年大学社区卫生服务(社区卫生干预)试题及答案
- 2025年大学二年级(地质工程)地质勘探方法试题及答案
- 2025年中职汽车运用与维修基础(维修基础理论)试题及答案
- 2025年高职第一学年(物业管理法规)物业费收取规范阶段测试试题及答案
- 2024南海农商银行科技金融专业人才社会招聘笔试历年典型考题及考点剖析附带答案详解
- 空调售后外包协议书
- 输电专业十八项反措内容宣贯
- 光伏防火培训课件
- 电视节目编导与制作(全套课件147P)
- 《碳排放管理体系培训课件》
- 2024年人教版八年级历史上册期末考试卷(附答案)
- 区间闭塞设备维护课件:表示灯电路识读
- 压缩空气管道安装工程施工组织设计方案
- 《计算机组成原理》周建敏主编课后习题答案
- 人教版二年级上册数学全册教案(新版教材)
评论
0/150
提交评论