算法训练 字符串编辑
时间限制:1.0s 内存限制:512.0MB

问题描述
  从键盘输入一个字符串(长度<=40个字符),并以字符 ’.’ 结束。编辑功能有:
  1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 ’s’ ,若字符串中有多个 ‘s’,则删除第一次出现的。
  2 I:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:I s d 表示在指定字符 ’s’ 的前面插入字符 ‘d’ ,若原串中有多个 ‘s’ ,则插入在最后一个字符的前面。
  3 R:替换一个字符,命令格式为:R a1 a2 其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1则应全部替换。
  在编辑过程中,若出现被改的字符不存在时,则给出提示信息。
输入格式
  输入共两行,第一行为原串(以’.’结束),第二行为命令(输入方式参见“问题描述” 。
输出格式
  输出共一行,为修改后的字符串或输出指定字符不存在的提示信息。
样例输入
This is a book.
D s
样例输出
Thi is a book.
输入输出样例解释
  命令为删去s,第一个在字符中出现的s在This中,即得到结果。

#include<stdio.h>
#include<string.h>
#define N 30int main()
{char str[N];char keys[5];char key;char a;char b;int i;int len;gets(str);//scanfgets(keys);len=strlen(str);key=keys[0];if(key == 'D'|| key == 'd'){a=keys[2];}else{a=keys[2];b=keys[4];}if(key == 'D' || key == 'd') //删除{int temp=0;for(i=0;i<len;i++){if(temp==0 && str[i]==a){temp=1;}else{printf("%c",str[i]);}}}else if(key == 'I' || key == 'i')  //插入{int num=0;for(i=0;i<len;i++){if(str[i]==a){num=i;}}for(i=0;i<len;i++){if(i==num){printf("%c",b);}printf("%c",str[i]);}}else{   //替换for(i=0;i<len;i++){if(str[i]==a){str[i]=b;}printf("%c",str[i]);}}printf("\n");return 0;
}

算法训练 字符串编辑c语言相关推荐

  1. 算法训练 字符串编辑 java

    算法训练 字符串编辑 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为 ...

  2. 算法训练 字符串编辑(java)

    算法训练 字符串编辑 描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表 ...

  3. 蓝桥杯 ALGO-66 算法训练 字符串编辑

    问题描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 's' ...

  4. 算法训练 字符串的展开

    ** 算法训练 字符串的展开 ** 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有 类似于"d-h"或者& ...

  5. 算法训练 字符删除 c语言

    算法训练 字符删除 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的c ...

  6. 算法训练 字符串的展开c语言

    在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有 类似于"d-h"或者"4-8"的字串, ...

  7. [Java] 蓝桥杯ALGO-143 算法训练 字符串变换

    问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串 ...

  8. 蓝桥杯 ALGO-143 算法训练 字符串变换

    问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串 ...

  9. 蓝桥杯 算法训练 字符串合并

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个字符串,将其合并为一个字符串后输出. 输入格式 输入两个字符串 输出格式 输出合并后的字符串 样例输入 一个满足题目要求的输入 ...

最新文章

  1. 牵引力教育设计总监解密9大2018潮流UI设计趋向
  2. .Net 中的反射(反射特性) - Part.3
  3. jenkins gitlab php,jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)...
  4. OpenCASCADE:读STEP
  5. 如何诊断crs 安装时 root.sh 脚本执行错误
  6. 分词之后的如何做特征选择_特征选择怎么做?这篇文章告诉你
  7. 2012 依赖注入框架
  8. 接口测试用例设计思路_基于python语言的接口自动化demo小实战
  9. SpringBoot 配置文件(yml)
  10. 文本分类之一:语言模型
  11. 包工协议书样本_模板工程承包协议书
  12. 国内能使用的海外支付接口除了Stripe,Paypal还有哪些?
  13. MD5的加密和解密算法
  14. v20超级计算机,荣耀v20正式发布 成为首款通过泰尔实验室的综合游戏体验五星手机...
  15. ar8161网卡 linux,解决AR8161网卡驱动的方法
  16. IT精英人物——李彦宏
  17. 段码液晶屏驱动芯片如何选择
  18. 12种论坛常用的推广方法
  19. 阿里云发布企业数字化及上云众包平台服务
  20. 如何使用office word将页码从第二页开始插

热门文章

  1. WebService开发方法介绍
  2. [Leetcode总结] 104.二叉树的最大深度
  3. 数据结构题:根据所给权值设计相应的哈夫曼树,并设计哈夫曼编码
  4. jmeter时间函数格林尼治时间_VB常用函数——时间函数和DateDiff函数
  5. BGP小实验(一)——小实验练练手走起来
  6. iphone文件访问ftp服务器,将文件上传到iPhone上的FTP服务器
  7. 如何查询spark版本_掌握Spark SQL中的查询执行
  8. vb6 combo根据index显示选项内容_按指定次数重复显示,两种方法随意选
  9. python 非线性规划_自动驾驶运动规划-Hybird A*算法(续)
  10. 缩进一个字符_Indesign里标点挤压及首行缩进2字符设置