字符串扩展
来源:互联网 发布:矩阵分析中文版 pdf 编辑:程序博客网 时间:2024/05/24 06:41
Problem Description
Tom有些时候为了记录的方便,常常将一些连续的字符用扩展符'-'简单表示。比如abcdefg可以简写为a-g,即用起始的字符和终止字符中间加上一个扩展符'-'来表示这个字符串。但是为了处理的方便,Tom又必须将这些我们简单记法扩展成原来的字符串。很明显要是人工来做的话必定很麻烦,Tom知道计算机可以帮助他完成这个任务,但是他却不会编程,这的确让他很上火。他知道今天是山东理工大学第三届ACM校赛的日子,届时来自全校的编程爱好者都会来参加比赛,他很兴奋,因为这个困惑他良久的问题终于要被解决了。给你一个含有扩展符'-'的字符串,你的任务就是将他还原成原来的字符串。要求是只处理[a-z]、[A-Z]、[0-9]范围内的字符扩展,即只有当扩展符前后的字符同时是小写字母、大写字母或数字时并且扩展符前面的字符不大于后面的字符才进行扩展,其它情况不进行扩展,原样输出。例如:a-R、D-e、0-b、4-B等字符串都不进行扩展。
Input
第一行是一个正整数T,表示共有T组测试数据(T < 100)。下面的T行,每一行包括一个长度不大于1000的待扩展字符串.
Output
每组测试数据输出一行扩展后的字符串。
Example Input
3ADEa-g-m02acm-0-5-a-ac-cm-m-A-AC-CM-MWelcometothe3rdACM/ICPCCampusProgrammingContestofSDUT-1-3-A-z-a-Z
Example Output
ADEabcdefghijklm02acm-012345-aaccmm-AACCMMWelcometothe3rdACM/ICPCCampusProgrammingContestofSDUT-123-A-z-a-Z
#include<stdio.h>#include<string.h>#include<ctype.h>int main(){ int t,i,j,len; char str[1006]; scanf("%d",&t); getchar(); while(t--) { gets(str); len=strlen(str); printf("%c",str[0]); for(i=1;i<len;i++) { if(str[i]=='-') { if( (isupper(str[i-1])&&isupper(str[i+1])) || (islower(str[i-1])&&islower(str[i+1])) || (isdigit(str[i-1])&&isdigit(str[i+1])) ) { if(str[i-1]<=str[i+1]) { for(j=str[i-1]+1;j<str[i+1];j++) { printf("%c",j); } } else { printf("%c",str[i]); } } else { printf("%c",str[i]); } } else { printf("%c",str[i]); } } printf("\n"); } return 0;}
有没有人帮我找找错误。
0 0
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- Spring报错:SystemId和publicId之间需要空格
- (1)ue4的第一步
- Spring Boot 起步
- 初学树状数组
- Windows下Python读取GRIB数据_0
- 字符串扩展
- 全排列
- windows环境下使用git客户端、GitHub和TortoiseGit管理项目代码
- CentOS安装jdk
- Android中的标题栏不显示问题的解决
- 关于android字符串中的一些判断
- C#Ver.4 Delegates概念、使用(C#Ver.2:Anonymous Method;C#Ver.3:Lambda expressions)
- Leetcode 234. Palindrome Linked List
- request传参的中文乱码问题