(C语言)字符串大小写无关查找替换
【问题描述】
编写程序将一行英文中指定的字符串替换为另一字符串后输出。注意:查找指定字符串时,大小写无关,而且有可能多次出现。
【输入形式】
先从标准输入中分行输入两个英文字符串(每个字符串不为空,长度不超过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语言)字符串大小写无关查找替换相关推荐
- c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换
[问题描述] 编写程序将一行英文中指定的字符串替换为另一字符串后输出.注意:查找指定字符串时,大小写无关,而且有可能多次出现. [输入形式] 先从标准输入中分行输入两个英文字符串(每个字符串不为空,长 ...
- C语言字符串中使用宏替换
1 背景 在定义一个字符串时,希望有一部分内容可以使用宏替换.当尝试使用如下方式来实现时,发现并不能达到目的. #define XXX programmer char str[] = "I ...
- C语言 字符串大小写转换
#include<stdio.h> void main(){//键入一个字符串char str[10] = {'\0'};printf("please enter a strin ...
- C语言字符串大小写转换_只愿与一人十指紧扣_新浪博客
大写转小写! 代码: #include "stdio.h" char fun ( char *c ) { if ( *c <='Z'& ...
- c语言字符串怎么退位,C语言第五六次作业.ppt
C语言作业解析 第四弹 原来真正变态的是这两作业哇 原本是做完第五次作业等大家数分期中考完以后给大家 结果直接出了第六次 就顺便做了 买一送一还包邮哦亲 虽然这两次作业比较难 理解起来困难无比 不过考 ...
- c语言字符串 从后拷贝,C语言字符串拷贝
C语言字符串拷贝利用指针操作,要清楚知道指针的指向 代码如下: #include #include #include char* my_strcpy1(char* dest, const char* ...
- Java对于字符串的处理【String和int之间的转换、字符串拼接、字符串获取长度、字符串大小写转换、字符串去空格、字符串分割、字符串替换、字符串提取、字符串比较、字符串查找】
文章目录 String字符串 和 整型int 的相互转换 String转化为int int 转换为 String 字符串拼接 使用连接运算符 "+" 使用 concat() 方法 ...
- C语言 字符串 查找并替换
编译环境:VS2010. 语言: C. 代码: #include <stdlib.h> #include <stdio.h> #include <string.h> ...
- linux c语言不区分大小写查找,c语言字符串查找不分大小写
夜影驱动编程小编今天和大家分享 C语言不区分字符串大小写的比较函数 strcmp() int stricmp(const char*, const char*); 这个是大小写不敏感的字符串比较函数 ...
最新文章
- python关键字匹配_python通过BF算法实现关键词匹配的方法
- Call for Papers | 2019 年 IEEE 国际进化计算大会
- web_cache_server -- Varnish
- 驱动下通过进程PID获得进程名 (动态获取ImageFileName在EPROCESS结构体中的相对偏移)...
- Linux进阶之路————磁盘查询
- AVB中将公钥转换成字符数组头文件的实现
- 开放下载!2021 解锁 Serverless 从入门到实战大“橙”就
- 加强的alert confirm js自定义对话框 多个按钮 ICO自定义
- Segger systemview STM32移植
- 主数据项目交付最佳实践
- iOS小技能:提取数字(文本框对粘贴内容进行手机号码提取)
- Python pandas 实现Excel分列效果
- 《推荐系统实践》笔记及自己的理解(一)
- android 水滴动画效果图,Android控件实现水滴效果
- 大整数加减乘除的实现
- 适合创业起步看的书推荐
- QT实现固高运动控制卡示波器
- 【转载】Amit’s A star Page 中译文
- 另一棵树的子树(你一定要会的基础面试题)
- 【探花交友DAY 03】个人信息完善 阿里云OSS百度人脸识别引入 统一Token和异常处理