题目:
 有一个字符串符合以下特征( "abcd11111abcd2222abcdqqqqq"),要求写一个函数(接口),
输出以下结果
 1) 求字符串字串(“abcd”)出现的次数,并把结果传出;
 2) 把字符串替换成(dcba11111dcba2222dcbaqqqqq),并把结果传出。
 
 请自己定义一个接口(函数)。
 要求1:能正确表达接口(函数)(30分);
 要求2:正确实现接口(函数),并实现功能(40分);

要求3:编写正确的测试用例。(30分)。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>int ChangeStr(const char *src, const char *substr, const char *chg_str,char *des, int *ncount)
{//循环变量int i=0,j=0;//找到子串的次数int count=0;//指针变量char *psrc=src;//待搜索子串的长度int len=strlen(substr);//用来记录找到子串的位置int a[100]={0}; //输出指针,由于src是常量指针,它所指向的内存中的内容不能改变,所以用des将内容//拷贝出来memcpy(des,src,strlen(src)*sizeof(char)+1);psrc=strstr(src,substr);assert(NULL!=src);assert(NULL!=substr);if (NULL==psrc){//没有找到返回0return 0;}while(psrc!=NULL){a[count]=psrc-src;count++;psrc+=len;psrc=strstr(psrc,substr);}//将子串substr换成chg_str//这里这两个字符串长度相同for(i=0; i<count; i++){for(j=0; j<len; j++){des[a[i]+j]=chg_str[j];}}*ncount=count;return 1;
}//主调函数,测试
int main()
{char *buf="abcd11111abcd2222abcdqqqqq";char *subbuf="abcd";char *sbu="dcba";char des[40];int count;if (ChangeStr(buf,subbuf,sbu,des,&count)){printf("字符串:%s\n字符串:%s的个数:%d\n变换后的字符串:%s\n",buf,subbuf,count,des);}return 0;
}

【字符串】面试题之替换子串相关推荐

  1. LeetCode 1234. 替换子串得到平衡字符串(滑动窗口)

    1. 题目 有一个只含有 'Q', 'W', 'E', 'R' 四种字符,且长度为 n 的字符串. 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」. 给你一个这样的字 ...

  2. .bat批处理(十一):替换字符串中包含百分号%的子串

    文章目录 前言 问题示例 解决方法 示例代码 运行结果 总结 前言 今天这篇总结是之前批处理替换字符串的延伸问题,同样来源于读者的提问,要处理的问题是被替换的子串中如果有百分号 % 要怎样替换,因为 ...

  3. C语言字符串笔试题含答案

    目录 面试题1:使用库函数将数字转换为字符串  出现频率:*** 面试题2:不使用库函数将整数转换成字符串  出现频率:***** 面试题3:使用库函数将字符串转换为数字  出现频率:**** 面试题 ...

  4. 【剑指offer】面试题 5. 替换空格

    面试题 5. 替换空格 题目:请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy. 则经过替换之后的字符串为We%20Are%20Hap ...

  5. c语言字符串操作面试题,C语言常见字符串面试题.pdf

    C语言常见字符串面试题 1. 字符串库函数的内部实现 memset库函数的实现 /* * memset - Fill a region of memory with the given value * ...

  6. 第十届蓝桥杯java B组—试题B 不同子串

    文章目录 1.大赛题目 2.文字描述如下 3.代码实例 1.大赛题目 1.图片如下: 2.文字描述如下 试题 B: 不同子串 [问题描述] 一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段 ...

  7. python字符串之查找与替换_Python字符串操作(查找,替换,分割和连接)方法及其使用...

    str 提供了如下常用的执行查找.替换等操作的方法: startswith():判断字符串是否以指定子串开头. endswith():判断字符串是否以指定子串结尾. find():查找指定子串在字符串 ...

  8. Python中的字符串(搜索和替换、对齐、统计、分离和连接)

    1.字符串的搜索和替换 s = 'hello world hello'#find找到子串,并返回最小的索引print(s.find('hello'))print(s.find('world'))#rf ...

  9. Python入门--字符串的连接和替换,replace,join

    #字符串替换 #replace()-->第一个参数指定被替换的子串,第二个参数指定替换子串的字符串,该方法 #返回替换后得到的字符串,替换前的字符串不会发生变化,调用该方法时 #可以通过第3个参 ...

最新文章

  1. 百炼智百炼智能获5000万元Pre-A轮融资,深耕智能获客赛道
  2. codeforces round #576 div2 D Welfare State(线段树)[单点修改+区间修改]
  3. LeetCode 47. 全排列 II
  4. nginx 配置的server_name参数(转)
  5. 前一个参数作为下个参数结果
  6. 电信笔试c语言编程,华工电信院电子与通信工程 923复试面试,笔试考什么?复试真题...
  7. java 自写项目 war包 部署到linux上 本地可以正常运行,部署正常但访问404问题
  8. 社区奖品之 【图书】基于Project 2002的项目管理
  9. mybatis使用经验
  10. android下实现4分屏播放4路高清h264格式的rtsp流
  11. winapi编程获取文件版本信息的代码_.Net调用WinAPI轻松实现POS小票并口打印
  12. Ubuntu 16.04 双网卡 同时上内外网
  13. RS485/RS422接线图
  14. 搜狗语音云开发入门(二)——使用离线语音识别服务
  15. 一台计算机可以安装网络打印机和本地打印机,您在计算机上安装一台本地打印机。您共享这台打印机。您需要确保只有名为Grou - 问答库...
  16. linux查看ftp客户端限速配置,vsftpd限速设置
  17. MFC CFile输出文本文件乱码
  18. 使用 GOLANG 发送邮件
  19. 在面试软件测试岗位时被问到最多的问题
  20. Juniper Junos设置3层接口

热门文章

  1. [paper reading] GoogLeNet
  2. kong 网关教程入门
  3. 安卓蓝牙bluetooth开发全解
  4. javascript垃圾回收机制
  5. RX库中的IDisposable对象
  6. Takeown 实现解析
  7. [转载] Python 字典删除元素clear、pop、popitem
  8. [转载] python中将str转成数字_python如何将字符转换为数字
  9. [转载] python numpy.sqrt_python中numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等...
  10. [转载] python 把几个DataFrame合并成一个DataFrame——merge,append,join,conca