ALGO-143_蓝桥杯_算法训练_字符串变换
问题描述
相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,,,,5这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化。
徐老师指定的操作如下:
表示全部转化为大写字母输出,如abC 变成 ABC
表示全部转换为小写字母输出,如abC变成abc
表示将字符串整个逆序输出,如 abc 变成 cba
表示将字符串中对应的大写字母转换为小写字母,而将其中的小写字母转化为大写字母输出,如 abC变成ABc
5表示将全部转换为小写字母,并将其中所有的连续子串转换为对应的缩写形式输出,比如abcD 转换为a-d,其次,-至少代表1个字母,既如果是ab,则不需要转换为缩写形式。
输入格式
一共一行,分别是指代对应操作的数字和字符串,两者以空格分隔,字符串全部由英文字母组成
输出格式
输出根据上述规则转换后对应的字符串
样例输入
ABcdEE
样例输出
a-ee
数据规模和约定
输入字符串长度最长为200。
AC代码:
#include <stdio.h>
#include <string.h>
#define MAX 200 int main(void)
{
int i;
int n;
char arr[MAX+];
scanf("%d %s",&n,&arr);
switch(n)
{
/*全部转化为大写字母输出*/
case :
for (i = ; i < strlen(arr) ; i ++)
{
if (arr[i] >= 'a' && arr[i] <= 'z')
{
arr[i] -= ;
}
}
printf("%s",arr);
break;
/*全部转换为小写字母输出*/
case :
for (i = ; i < strlen(arr) ; i ++)
{
if (arr[i] >= 'A' && arr[i] <= 'Z')
{
arr[i] += ;
}
}
printf("%s",arr);
break;
/*将字符串整个逆序输出*/
case :
for (i = strlen(arr)- ; i >= ; i --)
{
printf("%c",arr[i]);
}
break;
/*将字符串中对应的大写字母转换为小写字母,小写变大写*/
case :
for (i = ; i < strlen(arr) ; i ++)
{
if (arr[i] >= 'A' && arr[i] <= 'Z')
{
arr[i] += ;
}
else if (arr[i] >= 'a' && arr[i] <= 'z')
{
arr[i] -= ;
}
}
printf("%s",arr);
break;
/*将全部转换为小写字母,
并将其中所有的连续字串转换为对应的缩写形式输出*/
case :
for (i = ; i < strlen(arr) ; i ++)
{
if (arr[i] >= 'A' && arr[i] <= 'Z')
{
arr[i] += ;
}
}
printf("%c",arr[]);
n = ;
for (i = ; i < strlen(arr) ; i ++)
{
if (arr[i]-arr[i-] == && arr[i+]-arr[i] == )
{
n ++;
continue;
}
if (n)
{
printf("-");
}
printf("%c",arr[i]);
n = ;
}
break;
default:
break;
} return ;
}
ALGO-143_蓝桥杯_算法训练_字符串变换的更多相关文章
- Java实现 蓝桥杯VIP 算法训练 连接字符串
算法训练 连接字符串 时间限制:1.0s 内存限制:512.0MB 编程将两个字符串连接起来.例如country与side相连接成为countryside. 输入两行,每行一个字符串(只包含小写字母, ...
- Java实现 蓝桥杯VIP 算法训练 比较字符串
算法训练 比较字符串 时间限制:1.0s 内存限制:512.0MB 编程实现两个字符串s1和s2的字典序比较.(保证每一个字符串不是另一个的前缀,且长度在100以内).若s1和s2相等,输出0:若它们 ...
- [蓝桥杯]ALGO-20.算法训练_求先序排列
问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=). 输入格式 两行,每行一个字符串,分别表示中序和后序排列 输出格式 一个字符串,表示所求 ...
- [蓝桥杯]ALGO-16.算法训练_进制转换
问题描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*102+2*101+3*100这样 ...
- [蓝桥杯]ALGO-15.算法训练_旅行家的预算
问题描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1.汽车油箱的容量C(以升为单位).每升汽油能行驶的距离D2.出发点每升汽油价格P和沿 ...
- [蓝桥杯]ALGO-124.算法训练_数字三角形
问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●<三角形行数≤: ●三角 ...
- [蓝桥杯]ALGO-122.算法训练_未名湖边的烦恼
问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩. 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个.现在 ...
- [蓝桥杯]ALGO-116.算法训练_最大的算式
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...
- [蓝桥杯]ALGO-101.算法训练_图形显示
问题描述 编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数): * * * * * * * * * * * * * * * 题目描述 代码如下: #include < ...
- [蓝桥杯]ALGO-97.算法训练_排序
题目描述: 问题描述 编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列. 输入格式:输入只有一行,即三个整数,中间用空格隔开. 输出格式:输出只有一行,即排序后的结果. 输入输出 ...
随机推荐
- [LeetCode&Python] Problem 717. 1-bit and 2-bit Characters
We have two special characters. The first character can be represented by one bit 0. The second char ...
- Spring cron表达式详解
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示: 代表含义 是否必须 允许的取值范围 允许的特殊符号 秒 是 0-59 , - * ...
- HTML5的一些知识点
1.新增很多api,比如获取用户的地理位置的window.navigator.geoloaction,history,audio,video,canvas 2.websocket;websocket是 ...
- 两个Inline-block元素不对齐
可能是有一个元素用了overflow:hidden,(给另一个元素也加上) 也有可能是基线没对齐,用vertical-align:top可以
- D:\yyy\UNetSegmentation_code_20180301\data\train
key1 numpy.save("filename.npy",a) 利用这种方法,保存文件的后缀名字一定会被置为.npy,这种格式最好只用 numpy.load("fil ...
- mariaDB的安装 apache的安装
1.mariaDB的安装: 下载安装包: wget -c https://downloads.mariadb.com/MariaDB/mariadb-10.3.6/bintar-linux-glibc ...
- cglib实现动态代理简单使用
Boss: package proxy.cglib; public class Boss{ public void findPerson() { System.out.println("我要 ...
- 实验吧—安全杂项——WP之 flag.xls
点击链接下载文件,是一个xls文件 打开: 需要密码的 下一步,我将后缀名改为TXT,然后搜素关键词“flag”,一个一个查找就可以发现啦~!!!(这是最简单的一种方法)
- 使用nvm-windows安装nodejs遇到的问题(转载)
##使用nvm-windows安装nodejs遇到的问题 ####问题概述 由于国内网络限制导致使用nvm(nvm-windows,以下都使用nvm简称)安装nodejs超时或出现远程连接被关闭的问题 ...
- Centos7解决中文乱码问题
查看当前文字编码,发现都是en_US.UTF-8,也就是说还不能完美支持中文编码,如果是zh_CN.UTF-8,那就说明能够比较完美支持中文编码了(我猜的) [root@biaopei ~]# loc ...