zoukankan      html  css  js  c++  java
  • SDUTACM 1916 字符串扩展

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char str[1100],ch;
        int t,k,i;
        scanf("%d\n",&t);
        while(t--)
        {
            gets(str);
            k=strlen(str);
            for(i=0;i<k;i++)
            {
                if(str[i]!='-') printf("%c",str[i]);
                else
                {
    
                    if( (str[i-1]>='0' && str[i-1]<='9') && (str[i+1]>='0' && str[i+1]<='9') && (str[i-1]<=str[i+1]) )
                    {
                        ch=str[i-1]+1;
                        while(ch<str[i+1])
                        {
                            printf("%c",ch);
                            ch++;
                        }
                    }
                    else if( (str[i-1]>='A' && str[i-1]<='Z') && (str[i+1]>='A' && str[i+1]<='Z') && (str[i-1]<=str[i+1]) )
                    {
                        ch=str[i-1]+1;
                        while(ch<str[i+1])
                        {
                            printf("%c",ch);
                            ch++;
                        }
                    }
                    else if( (str[i-1]>='a' && str[i-1]<='z') && (str[i+1]>='a' && str[i+1]<='z') && (str[i-1]<=str[i+1]) )
                    {
                        ch=str[i-1]+1;
                        while(ch<str[i+1])
                        {
                           printf("%c",ch);
                           ch++;
                        }
                    }
                    else printf("-");
                }
            }
            printf("\n");
        }
        return 0;
    }
    

    字符串扩展

    Time Limit: 1000MS Memory limit: 65536K

    题目描述

    Tom有些时候为了记录的方便,常常将一些连续的字符用扩展符'-'简单表示。比如abcdefg可以简写为a-g,即用起始的字符和终止字符中间加上一个扩展符'-'来表示这个字符串。但是为了处理的方便,Tom又必须将这些我们简单记法扩展成原来的字符串。很明显要是人工来做的话必定很麻烦,Tom知道计算机可以帮助他完成这个任务,但是他却不会编程,这的确让他很上火。他知道今天是山东理工大学第三届ACM校赛的日子,届时来自全校的编程爱好者都会来参加比赛,他很兴奋,因为这个困惑他良久的问题终于要被解决了。给你一个含有扩展符'-'的字符串,你的任务就是将他还原成原来的字符串。要求是只处理[a-z][A-Z][0-9]范围内的字符扩展,即只有当扩展符前后的字符同时是小写字母、大写字母或数字时并且扩展符前面的字符不大于后面的字符才进行扩展,其它情况不进行扩展,原样输出。例如:a-RD-e0-b4-B等字符串都不进行扩展。

    输入

    第一行是一个正整数T,表示共有T组测试数据(T < 100)下面的T行,每一行包括一个长度不大于1000的待扩展字符串.

    输出

    每组测试数据输出一行扩展后的字符串。

    示例输入

    3
    ADEa-g-m02
    acm-0-5-a-ac-cm-m-A-AC-CM-M
    Welcometothe3rdACM/ICPCCampusProgrammingContestofSDUT-1-3-A-z-a-Z
    

    示例输出

    ADEabcdefghijklm02
    acm-012345-aaccmm-AACCMM
    Welcometothe3rdACM/ICPCCampusProgrammingContestofSDUT-123-A-z-a-Z
    
  • 相关阅读:
    (五)TortoiseSVN 客户端-----安装
    (四)svn 服务器端的使用之创建工程目录
    (三)svn 服务器端之创建仓库
    (二)svn服务端安装配置
    (一)svn介绍
    JFinal常量配置学习笔记
    继承、多态、重载和重写
    聊聊基本类型(内置类型)
    日期和时间的处理
    设计模式——享元模式
  • 原文地址:https://www.cnblogs.com/liuzezhuang/p/2531837.html
Copyright © 2011-2022 走看看