题目描述

怎么样,前面的题还可以吧~

依旧是字符串处理,设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: 字符串的修改的更多相关文章

  1. Python字符串的修改以及传参

    前两天去面试web developer,面试官提出一个问题,用JavaScript或者Python实现字符串反转,我选择了Python,然后写出了代码(错误的): #!/usr/bin/env pyt ...

  2. P141 实战练习——字符串(修改后)

    1.在项目中创建Number类,判断字符串“mingrikejijavabu”中字符‘i’出现了几次,并将结果输出. 方法一: // String str="mingrikejijavabu ...

  3. T4 字符串的修改 题解

    有 A=a1a2a3„am,B=b1b2b3„bn 两个字符串(均为小写字母)现在要通过以下操作将 A 或 A 的一个后缀修改为 B: 1. 删除 删除掉 A 中的某一个字符. 2. 添加 将某一个字 ...

  4. C++string中有关字符串内容修改和替换的函数浅析

    1.assign() 原型: //string (1) basic_string& assign (const basic_string& str); //substring (2) ...

  5. zf-关于即将过期提示字符串的修改

    Struts2中的 addFieldError(str1,str2); 自带输出 str1= [str2] 这样子是自带输出的 但是如果 要把=[]替换掉怎么办呢 当时想的很复杂,现在知道了,其实很简 ...

  6. zzulioj 1206 字符串的修改 (字符串修改)

    不难,理解一下直接过,代码如下: #include<stdio.h> #include<string.h> #include<math.h> #include< ...

  7. C#截取指定长度中英文字符串方法 (修改)

    public static string GetFirstString(string stringToSub, int length) { Regex regex = new Regex(" ...

  8. Python的字符串修改报错:TypeError: 'str' object does not support item assignment

    Python中想修改字符串的最后一个字符,使用name[-1] = 'e'来实现,运行后报错. 报错内容是:TypeError: 'str' object does not support item ...

  9. Python 字符串索引、切片、修改

    字符串索引.切片.修改1.字符串操作(切片.修改)应用场景    a.爬虫截取网址数据    b.数据分析,语言处理(分词)    c.电信号码升级           0452 8869504   ...

随机推荐

  1. [USACO07JAN]区间统计Tallest Cow

    前缀和 sum[i]表示前i个数的和 每次读入a[i]的时候 sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1] 差分 即前缀和的 ...

  2. linux下修改gcc编译器版本

    可以使用如下命令行来让 gcc 选择不同的 C++ 版本: g++ -std=c++11 main.cpp 在你的系统中,由于编译器或是编译器设定上的差别,操作也许有所不同.    

  3. 在线url网址编码、解码

    >>在线url网址编码.解码<<

  4. E. Remainder Problem 分块

    两个操作 1对x位置的a[x]+y 2对所有i=y(mod x)求a[i]的和 我们肯定不能n^2 跑,稳超时,但是我们可以这样分块考虑. 为什么n^2不行?因为在x比较小的时候,这个求和操作次数太多 ...

  5. SuperSocket证书节点新增配置属性 "storeLocation"

    你可以指定你想要加载的证书的存储地点: <certificate storeName="My" storeLocation="LocalMachine" ...

  6. Oracle - @和@@、&与&& 的区别

    2018-01-15 15:36:17 袭冷 阅读数 4783更多 分类专栏: DB   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接 ...

  7. SuperSocket命令加载器 (Command Loader)

    在某些情况下,你可能希望通过直接的方式来加载命令,而不是通过自动的反射. 如果是这样,你可以实现你自己的命令加载器 (Command Loader): public interface IComman ...

  8. Group_concat介绍与例子

    进公司做的第一个项目就是做一个订单追踪查询,里里外外连接了十一个表,作为公司菜鸡的我麻了爪. 其中有一个需求就是对于多行的数据在一行显示,原谅我才疏学浅 无奈下找到了项目组长  在那学来了这个利器 ( ...

  9. java框架之shiro

    #shiro简介 一.简介 Apache Shiro 是一个强大而灵活的开源安全框架,可以用于应用程序的身份验证,授权,会话管理和加密. Authentication:有时也简称为“登录”,这是一个证 ...

  10. H3C IGP与EGP