问题描述
  相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化。
  徐老师指定的操作如下:
  1 表示全部转化为大写字母输出,如abC 变成 ABC
  2 表示全部转换为小写字母输出,如abC变成abc
  3 表示将字符串整个逆序输出,如 abc 变成 cba
  4 表示将字符串中对应的大写字母转换为小写字母,而将其中的小写字母转化为大写字母输出,如 abC变成ABc
  5 表示将全部转换为小写字母,并将其中所有的连续子串转换为对应的缩写形式输出,比如abcD 转换为a-d,其次,-至少代表1个字母,既如果是ab,则不需要转换为缩写形式。
输入格式
  一共一行,分别是指代对应操作的数字和字符串,两者以空格分隔,字符串全部由英文字母组成
输出格式
  输出根据上述规则转换后对应的字符串
样例输入
5 ABcdEE
样例输出
a-ee
数据规模和约定
  输入字符串长度最长为200。

#include <iostream>
#include <cctype>
using namespace std;
int main() {int n;cin >> n;string s;cin >> s;int len = s.length();switch(n) {case 1:case 2:case 4:for(int i = 0; i < len; i++) {if(n == 1)s[i] = toupper(s[i]);else if(n == 2)s[i] = tolower(s[i]);else {if(isupper(s[i]))s[i] = tolower(s[i]);elses[i] = toupper(s[i]);}}cout << s;break;case 3:for(int i = len-1; i >= 0; i--) {cout << s[i];}break;case 5:string t;for(int i = 0; i < len; i++) {s[i] = tolower(s[i]);}for(int i = 0; i < len; i++) {if(i == 0) {t += s[0];} else if(i != len-1) {if(s[i] != s[i-1]+1 || s[i] != s[i+1]-1) {t += s[i];} else if(t[t.length()-1] != '-') {t += '-';}} else {t += s[i];}}cout << t;break;}return 0;
}

蓝桥杯 ALGO-143 算法训练 字符串变换相关推荐

  1. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  2. 矩阵乘法 算法训练 试题_蓝桥杯习题集_ 算法训练 矩阵乘法

    原文: 算法训练 矩阵乘法 时间限制:1.0s   内存限制:512.0MB 问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s, ...

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

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

  4. 蓝桥杯练习系统—算法训练 s01串

    第一部分:题目 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据 ...

  5. 蓝桥杯练习系统算法训练习题加答案java版本

    附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...

  6. java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式

    题目要求 解题思路 动态规划,今天才弄明白QAQ,借鉴了这位大佬的博客,曹磊的博客 写的很好!但是我觉得我的循环方式更容易理解嘿嘿嘿~ 首先建立如下图的数组,行数代表前几位数,列数代表有几个乘号.将第 ...

  7. 蓝桥杯:试题 算法训练 采油区域 矩阵前缀和+动态规划+分治+枚举

    资源限制 时间限制:2.0s 内存限制:512.0MB 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M× ...

  8. 蓝桥杯-黑色星期五(算法训练)

    题目描述: 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是"诸事不宜".请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是1 ...

  9. 【算法】【蓝桥杯】试题 算法训练 黑心药商 ALGO-1002

    题目 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 JiaoShou消灭了百变怪,为爱琳世界赢得了和平,但他突然发现自己没有升级,这就意味着必须去喝药补血.爱琳世界的NPC卖的药已 ...

最新文章

  1. spi nor flash使用汇总
  2. 作为公司新上任的管理者,如何更好的规划工作方案
  3. python编程实例视屏-python 下载抖音视频示例源码
  4. 魔兽世界阿拉索人数最多服务器,魔兽世界8.3哪个区人多_wow8.3服务器人数统计介绍_3DM网游...
  5. python中 的用法_详解python中@的用法
  6. hapi和typescript构建项目(正在更新中)
  7. 若依如何解决请求地址存在中文出现异常?
  8. 91.接收用户请求包体的方式
  9. Verilog 38译码器
  10. Mac屏幕截图软件SnapNDrag激活教程分享
  11. 同一台电脑安装两个版本的jdk和jre
  12. 七缸发动机预热,docker swarm + .net core 高速飙车成功
  13. 均匀分配算法(Python2)
  14. Pandas合并excel文件错位现象的解决
  15. 通过GB28181实现对安防摄像头的直播回放控制
  16. 【福利帖】7日玩转ESP32
  17. 机器人操作系统ROS 编程开发--详细总结
  18. java丐帮_JAVA集合 list set map
  19. 什么样的离职原因适合你
  20. (CNS复现)CLAM——Chapter_03

热门文章

  1. 表主键自增长Mybatis插入数据报错
  2. 《『若水新闻』客户端开发教程》——12.代码编写(4)
  3. 《『若水新闻』客户端开发教程》——03.设计新闻分类UI(1)
  4. C#如何测量字符串的高度宽度和精确取得字符串的高度宽度
  5. antd下拉框联动说明
  6. forEach与map
  7. 利用saltstack的api接口和modules实现实时监控
  8. 飞利浦 TASY 电子病历系统中存在严重漏洞,可暴露患者记录
  9. 微软称 SolarWinds 黑客还在继续攻击 IT 企业
  10. 万人云峰会DevSecOps论坛:数字化浪潮下,安全开发与运维该如何破局?