蓝桥杯 ALGO-143 算法训练 字符串变换
问题描述
相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了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 算法训练 字符串变换相关推荐
- 蓝桥杯:试题 算法训练 Remember the A La Mode
蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...
- 矩阵乘法 算法训练 试题_蓝桥杯习题集_ 算法训练 矩阵乘法
原文: 算法训练 矩阵乘法 时间限制:1.0s 内存限制:512.0MB 问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s, ...
- [Java] 蓝桥杯ALGO-143 算法训练 字符串变换
问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串 ...
- 蓝桥杯练习系统—算法训练 s01串
第一部分:题目 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据 ...
- 蓝桥杯练习系统算法训练习题加答案java版本
附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...
- java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式
题目要求 解题思路 动态规划,今天才弄明白QAQ,借鉴了这位大佬的博客,曹磊的博客 写的很好!但是我觉得我的循环方式更容易理解嘿嘿嘿~ 首先建立如下图的数组,行数代表前几位数,列数代表有几个乘号.将第 ...
- 蓝桥杯:试题 算法训练 采油区域 矩阵前缀和+动态规划+分治+枚举
资源限制 时间限制:2.0s 内存限制:512.0MB 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M× ...
- 蓝桥杯-黑色星期五(算法训练)
题目描述: 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是"诸事不宜".请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是1 ...
- 【算法】【蓝桥杯】试题 算法训练 黑心药商 ALGO-1002
题目 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 JiaoShou消灭了百变怪,为爱琳世界赢得了和平,但他突然发现自己没有升级,这就意味着必须去喝药补血.爱琳世界的NPC卖的药已 ...
最新文章
- spi nor flash使用汇总
- 作为公司新上任的管理者,如何更好的规划工作方案
- python编程实例视屏-python 下载抖音视频示例源码
- 魔兽世界阿拉索人数最多服务器,魔兽世界8.3哪个区人多_wow8.3服务器人数统计介绍_3DM网游...
- python中 的用法_详解python中@的用法
- hapi和typescript构建项目(正在更新中)
- 若依如何解决请求地址存在中文出现异常?
- 91.接收用户请求包体的方式
- Verilog 38译码器
- Mac屏幕截图软件SnapNDrag激活教程分享
- 同一台电脑安装两个版本的jdk和jre
- 七缸发动机预热,docker swarm + .net core 高速飙车成功
- 均匀分配算法(Python2)
- Pandas合并excel文件错位现象的解决
- 通过GB28181实现对安防摄像头的直播回放控制
- 【福利帖】7日玩转ESP32
- 机器人操作系统ROS 编程开发--详细总结
- java丐帮_JAVA集合 list set map
- 什么样的离职原因适合你
- (CNS复现)CLAM——Chapter_03
热门文章
- 表主键自增长Mybatis插入数据报错
- 《『若水新闻』客户端开发教程》——12.代码编写(4)
- 《『若水新闻』客户端开发教程》——03.设计新闻分类UI(1)
- C#如何测量字符串的高度宽度和精确取得字符串的高度宽度
- antd下拉框联动说明
- forEach与map
- 利用saltstack的api接口和modules实现实时监控
- 飞利浦 TASY 电子病历系统中存在严重漏洞,可暴露患者记录
- 微软称 SolarWinds 黑客还在继续攻击 IT 企业
- 万人云峰会DevSecOps论坛:数字化浪潮下,安全开发与运维该如何破局?