【问题描述】

编写程序将一行英文中指定的字符串替换为另一字符串后输出。注意:查找指定字符串时,大小写无关,而且有可能多次出现。

【输入形式】

先从标准输入中分行输入两个英文字符串(每个字符串不为空,长度不超过20,且字符串中不会出现空格),分别表示被替换的字符串和替换成的字符串,然后在下一行输入一行英文(长度不超过200),行末有回车换行。

【输出形式】

将输入的英文按指定字符串替换后输出到标准输出上,末尾应有一个回车换行。

【样例输入】

th
Hello
This second edition of “The C Programming Language” describes C as defined by the ANSI standard. Modern compilers already support most features of the standard.

【样例输出】

Hellois second edition of “Helloe C Programming Language” describes C as defined by Helloe ANSI standard. Modern compilers already support most features of Helloe standard.

【样例说明】

样例中输入的被替换的字符串为th,由于是大小写无关查找替换,所以下一行英文信息中有四个子串要替换:Th、Th、th和th,分别替换为Hello,其它信息原样输出。

解体思路:将一行英文依次输出,如果不符合替换条件原样输出,如果符合替换条件则输出替换后的。省去了每一处替换时要考虑总字符串长增加还是减小,再进行后面字符整体移动的复杂步骤。

#include<stdio.h>
#include<string.h>
int main()
{char a[20], b[20], str[200];//a为要查找的字符,b为替换后的 gets(a),gets(b),gets(str);int num1 = strlen(a);//统计字符串的长度 int num3 = strlen(str);int i, j, flag=1;for (i = 0; i < num3; i++){if ((str[i] != a[0])&&(str[i] != a[0]-32)&&(str[i] !=a[0]-32))//字符串的大小写无关查找  printf("%c", str[i]);//若不是,按照原来的输出 else{   flag=1; for (j = 0; j < num1; j++)//对比a与str中的一段是否完全相同 {if ((str[i+j] != a[j])&&(str[i+j] != a[j]+32)&&(str[i+j] != a[j]-32)){flag = 0;break;}}if (flag)//如果相同,则输出b,完成替换 {printf("%s",b);i = i + num1;i--;}else//如果不相同,按照原来的输出 printf("%c", str[i]);}}return 0;
}

(C语言)字符串大小写无关查找替换相关推荐

  1. c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换

    [问题描述] 编写程序将一行英文中指定的字符串替换为另一字符串后输出.注意:查找指定字符串时,大小写无关,而且有可能多次出现. [输入形式] 先从标准输入中分行输入两个英文字符串(每个字符串不为空,长 ...

  2. C语言字符串中使用宏替换

    1 背景 在定义一个字符串时,希望有一部分内容可以使用宏替换.当尝试使用如下方式来实现时,发现并不能达到目的. #define XXX programmer char str[] = "I ...

  3. C语言 字符串大小写转换

    #include<stdio.h> void main(){//键入一个字符串char str[10] = {'\0'};printf("please enter a strin ...

  4. C语言字符串大小写转换_只愿与一人十指紧扣_新浪博客

    大写转小写! 代码:    #include    "stdio.h"       char    fun ( char  *c )     { if ( *c <='Z'& ...

  5. c语言字符串怎么退位,C语言第五六次作业.ppt

    C语言作业解析 第四弹 原来真正变态的是这两作业哇 原本是做完第五次作业等大家数分期中考完以后给大家 结果直接出了第六次 就顺便做了 买一送一还包邮哦亲 虽然这两次作业比较难 理解起来困难无比 不过考 ...

  6. c语言字符串 从后拷贝,C语言字符串拷贝

    C语言字符串拷贝利用指针操作,要清楚知道指针的指向 代码如下: #include #include #include char* my_strcpy1(char* dest, const char* ...

  7. Java对于字符串的处理【String和int之间的转换、字符串拼接、字符串获取长度、字符串大小写转换、字符串去空格、字符串分割、字符串替换、字符串提取、字符串比较、字符串查找】

    文章目录 String字符串 和 整型int 的相互转换 String转化为int int 转换为 String 字符串拼接 使用连接运算符 "+" 使用 concat() 方法 ...

  8. C语言 字符串 查找并替换

    编译环境:VS2010. 语言: C. 代码: #include <stdlib.h> #include <stdio.h> #include <string.h> ...

  9. linux c语言不区分大小写查找,c语言字符串查找不分大小写

    夜影驱动编程小编今天和大家分享 C语言不区分字符串大小写的比较函数 strcmp() int stricmp(const char*, const char*); 这个是大小写不敏感的字符串比较函数 ...

最新文章

  1. python关键字匹配_python通过BF算法实现关键词匹配的方法
  2. Call for Papers | 2019 年 IEEE 国际进化计算大会
  3. web_cache_server -- Varnish
  4. 驱动下通过进程PID获得进程名 (动态获取ImageFileName在EPROCESS结构体中的相对偏移)...
  5. Linux进阶之路————磁盘查询
  6. AVB中将公钥转换成字符数组头文件的实现
  7. 开放下载!2021 解锁 Serverless 从入门到实战大“橙”就
  8. 加强的alert confirm js自定义对话框 多个按钮 ICO自定义
  9. Segger systemview STM32移植
  10. 主数据项目交付最佳实践
  11. iOS小技能:提取数字(文本框对粘贴内容进行手机号码提取)
  12. Python pandas 实现Excel分列效果
  13. 《推荐系统实践》笔记及自己的理解(一)
  14. android 水滴动画效果图,Android控件实现水滴效果
  15. 大整数加减乘除的实现
  16. 适合创业起步看的书推荐
  17. QT实现固高运动控制卡示波器
  18. 【转载】Amit’s A star Page 中译文
  19. 另一棵树的子树(你一定要会的基础面试题)
  20. 【探花交友DAY 03】个人信息完善 阿里云OSS百度人脸识别引入 统一Token和异常处理

热门文章

  1. 我的服务端JS文件合并工具
  2. C#存取数据为所欲为(二)
  3. DelayQueue1.8源码
  4. [LeetCode] 118. Pascal's Triangle Java
  5. Javascript实现前端简单路由
  6. Oracle Rename
  7. typo(ruby的开源blog)系统的安装
  8. Strust2 本地化/国际化
  9. Linux逻辑卷(LVM)技术详解
  10. ROC曲线与AUC以及LIFT