Q: 字符串的修改
怎么样,前面的题还可以吧~
依旧是字符串处理,设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:
1. 删除一个字符;
2. 插入一个字符;
3. 将一个字符改为另一个字符。
对任给的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。
第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于200。
只有一个正整数,为最少字符操作次数。
sfdxbqw gfdgw
4 /*------------------------------------无敌分割线---------------------------------------------------*/ 先直接上代码:
#include<stdio.h> #include<string.h> int main() { ], s2[]; //因为字符串长度最大是200,这里设置大一些 s1作为需要修改的字符数组,s2是模板字符数组 char *pt = s1; , i; //t记录修改次数
scanf("%s %s", s1, s2); //j是求a与b哪个字符串较小 int j = strlen(s1) > strlen(s2) ? strlen(s2) : strlen(s1); // ; i < j; i++) { if (s1[i] != s2[i]) t++;//记录a,b相同下标,不同的字符个数
} ////如果模板串比修改字符串长,那么就是:t if (strlen(s2) > strlen(s1)) printf("%d", t); else { ]))//后面有相同的字符,要减1 printf(); else printf("%d", t + strlen(s1) - strlen(s2)); } ; }
因为代码里使用的strchr函数所以这里介绍一下用法:
头文件:#include<string.h>
功能:查找一个字符c在另一个字符串
str中末次出现的位置(也就是从str的左侧开始查找字符c首次出现的位置),并返回该字符的地址。如果未能找到指定字符,那么函数将返回NULL
char* strchr(char *s, char c) { while(*s != '\0' && *s != c) { s++; } return (*s==c ? s : NULL); }
Q: 字符串的修改的更多相关文章
- Python字符串的修改以及传参
前两天去面试web developer,面试官提出一个问题,用JavaScript或者Python实现字符串反转,我选择了Python,然后写出了代码(错误的): #!/usr/bin/env pyt ...
- P141 实战练习——字符串(修改后)
1.在项目中创建Number类,判断字符串“mingrikejijavabu”中字符‘i’出现了几次,并将结果输出. 方法一: // String str="mingrikejijavabu ...
- T4 字符串的修改 题解
有 A=a1a2a3„am,B=b1b2b3„bn 两个字符串(均为小写字母)现在要通过以下操作将 A 或 A 的一个后缀修改为 B: 1. 删除 删除掉 A 中的某一个字符. 2. 添加 将某一个字 ...
- C++string中有关字符串内容修改和替换的函数浅析
1.assign() 原型: //string (1) basic_string& assign (const basic_string& str); //substring (2) ...
- zf-关于即将过期提示字符串的修改
Struts2中的 addFieldError(str1,str2); 自带输出 str1= [str2] 这样子是自带输出的 但是如果 要把=[]替换掉怎么办呢 当时想的很复杂,现在知道了,其实很简 ...
- zzulioj 1206 字符串的修改 (字符串修改)
不难,理解一下直接过,代码如下: #include<stdio.h> #include<string.h> #include<math.h> #include< ...
- C#截取指定长度中英文字符串方法 (修改)
public static string GetFirstString(string stringToSub, int length) { Regex regex = new Regex(" ...
- Python的字符串修改报错:TypeError: 'str' object does not support item assignment
Python中想修改字符串的最后一个字符,使用name[-1] = 'e'来实现,运行后报错. 报错内容是:TypeError: 'str' object does not support item ...
- Python 字符串索引、切片、修改
字符串索引.切片.修改1.字符串操作(切片.修改)应用场景 a.爬虫截取网址数据 b.数据分析,语言处理(分词) c.电信号码升级 0452 8869504 ...
随机推荐
- Android 高仿新浪微博底部导航栏,实现双击首页Tab,页面的ListView滚动、刷新
现在很多APP,如微信.QQ.微博等等,它们的主页面都无一例外的选择使用底部Tab导航, 通过这种方式,可以很好的把页面层级分化,很好的提高用户体验.相信,很多Android开发者,都使用到过这种经典 ...
- ORA-01089: 即時シャットダウン処理中 - 操作はできません
一:当时的情景 SQL> shutdown immediate --无任何返回结果 二:问题定位过程 1.查询相关进程只有ORACLE的关键进程存在 ps -ef |grep ora_ soad ...
- 云原生生态周报 Vol. 6 | KubeCon EU 特刊
5 月 26日,2019 年第一个 KubeCon + CloudNativeCon 在巴塞罗那成功闭幕.本届 KubeCon 共吸引了超过 7700 名与会者,相较去年哥本哈根大会的 4300 余名 ...
- 在phpstudy中nginx伪静态配置
########################### #以下是虚拟主机配置 server { listen 80; server_name hzym.com; root "D:\phpst ...
- yeoman&bower
一.Yeoman 在nodejs环境下安装: npm install -g yo 然后安装所需要的generator,generator是npm包,命名为generator-xyz,比如安装angul ...
- canvas+js实现验证码功能
转载自:https://blog.csdn.net/qq_42463851/article/details/90755734<!DOCTYPE html> <html> < ...
- 使C# WebApi返回Json
找到Global.asax文件,在Application_Start()方法中添加一句: protected void Application_Start() { AreaRegistration.R ...
- oracle中 =: 和 := 分别是什么意思
oracle中 =: 和 := 分别是什么意思 =:应该相当于 a = :b 表明b是个绑定变量,需要执行时进行变量绑定:= 相当于一般编程语言中的 赋值 a := 1 即将 数字1赋值给变量 a
- html手机端全屏显示和溢出问题
<meta name="viewport" content="width=1200, initial-scale=0.3"> initial-sca ...
- SAX解析xml (遍历DOM树各节点)
本文参考 http://yangjunfeng.iteye.com/blog/401377 1. books.xml <?xml version="1.0" encoding ...