1. 题目

题目描述
一个字符串,有以下三种操作

现在给你初始字符串和一个指令序列,请执行这个指令序列。
输入
包含不多于100个样例。 每个样例第一行是一个只含英文大写字母的字符串,长度不超过100。 以后是不超过100行的指令序列,如果指令为"END",表示指令序列的结束。
输出
依次执行指令,输出格式如"x:s"这样的结果,其中x为指令序号(从1开始),s为执行之后的字符串。 每个样例之后输出一个空行。
样例输入
AABBCC
S 2 4 C
T C D
END
AABBCC
T C D
S 2 4 C
END
样例输出
1:ACCCCC
2:ADDDDD
这里有一个空行
1:AABBDD
2:ACCCDD

  1. 解法
    这道题照着题目意思写即可。我的代码如下。
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
//第一个命令
void schange(char s[], int start, int end, char dst) {int length = strlen(s);for(int i = start-1; i < end && i < length; i++) {s[i] = dst;}
}
//第二个命令
void tchange(char s[], char src, char dst) {int length = strlen(s);for(int i = 0; i < length; i++) {if(s[i] == src) {s[i] = dst;}}
}
int main(int argc, char const **argv) {char s[105];while(cin >> s) {getchar();char op, src, dsc, temp[2];int start, end, cnt = 0;scanf("%c", &op);while(op != 'E') {if(op == 'S') {//%*c表示跳过一个char输入scanf("%*c%d%*c%d%*c%c", &start, &end, &dsc);getchar();schange(s, start, end, dsc);printf("%d:%s\n", ++cnt, s);} else {scanf("%*c%c%*c%c", &src, &dsc);getchar();tchange(s, src, dsc);printf("%d:%s\n", ++cnt, s);}scanf("%c", &op);}scanf("%c%c", &temp[0], &temp[1]);getchar();printf("\n");}return 0;
}

XTUOJ-1299-String相关推荐

  1. Java知识——精华总结

    Java知识--精华总结 一.java概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了使计算机能够理解人的意图,人类就必须 ...

  2. WUSTOJ 1299: 结点选择(Java)

    题目链接:?1299: 结点选择 参考:?[Java] 蓝桥杯ALGO-4 算法训练 结点选择--柳婼 の blog Description 有一棵n个节点的树,树上每个节点都有一个正整数权值.如果一 ...

  3. xtuoj 模拟 1176 First Blood

    xtuoj 模拟 1176  First Blood 是个菜鸡,写的不好. 算法:边输入边运算(?) Description 题目描述 ICPC比赛中,某道题的第一次正确提交,被称为First Blo ...

  4. mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string

    mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...

  5. Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)

    1. 第三方库 go-redis 因为 Go 标准库中是没提供 redis 的库,所以我们选择用 go-redis 这个第三方库.源码地址为 https://github.com/go-redis/r ...

  6. Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)

    字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...

  7. python中的raw string的使用

    背景 我们经常需要使用raw string,在应用过程中,比如要使字符串中带一些转义字符或者其他的一些符号,我们就需要保持我们的字符成为raw string. 实例 输入 s = 'fadfafa\n ...

  8. Java中如何实现Date与String之间的数据类型转换

    String 数据类型转换成 Date String inputDate = "2021-04-11";Date outputDate = null;SimpleDateForma ...

  9. C++ string字符串的比较是否相等

    C++ string字符串的比较是否相等 可以使用compare 也可以使用"==" 1 使用比较运算符 == #include <iostream> #include ...

  10. python string 转bytes 以及bytes 转string

    string转 bytes 使用 encode str_a = "Python" str_bytes = str_a.encode() # encode默认编码方式是utf-8 所 ...

最新文章

  1. 代码 直接调节显示设备亮度_投影仪太暗怎么调整?如何给投影机增加亮度?颜色也能调吗?这项功能必须要有...
  2. centos7 tomcat_centos7中利用logrotate工具切割日志,以tomcat日志为例
  3. zookeeper运维管理
  4. Html基础知识详解
  5. 日语学习-多邻国-人
  6. 模板引擎工作原理_「白皮书解读搜索引擎的工作原理」如何排序
  7. 终于明白我做小生意为啥赔钱了,主要原因还是进货渠道不行
  8. [MySQL] - MySQL连接字符串总结 (转)
  9. JavaScript学习笔记(八)
  10. 联想电脑打不开摄像头
  11. php排版word文档试卷,出试卷用word怎么排版
  12. 巴塞罗那2019-20赛季球队大名单
  13. 磁阻式随机存储器MRAM基本原理
  14. FIR滤波器设计(1)——利用matlab的fdatool工具箱设计FIR滤波器参数
  15. 学习笔记之MyEclipse里各个文件名前的小标记都代表的意思
  16. 国际短信发不出去是怎么回事?
  17. c语言输入函数 scanf 详解 - 解决常见输入问题
  18. 操作系统虚拟存储器实验---Python实现
  19. java ognl表达式_[JavaWeb基础] 029.OGNL表达式介绍
  20. 简单的虚拟产品介绍html单页源码

热门文章

  1. win+ubuntu安装Nvidia显卡驱动
  2. EasyExcel web下载excel,多sheet页demo
  3. 小红书数据平台:2022年5月彩妆行业数据洞察报告
  4. Component MSCOMCTL.OCX or one of its dependencies not currently registered
  5. 谭浩强C++ 第十章
  6. freeswitch如何判断挂机方
  7. PPT学习笔记,相关好用软件吐血推荐
  8. SAP 银企直连 常用事务代码,表名,类名
  9. 基于jsp servlet javabean的学生管理系统
  10. 十字军之王3Crusader Kings III mac中文