zoukankan      html  css  js  c++  java
  • 字符串处理(POJ1782)

    题目链接:http://poj.org/problem?id=1782

    解题报告:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    
    using namespace std;
    
    
    const int maxn = 1120;
    
    
    int main()
    {
        char s[maxn];
        char tmp;
        while(gets(s))
        {
    
            int len = strlen(s);
            int i;
    
            for(i = 0 ; i < len ; i++)
            {
    
                if(i + 1 < len && s[i] == s[i+1]) ///输出有重复字符的子串
                {
                    int j = 0;///重复的次数
                    tmp = s[i];
                    j++;
                    i++;
    
                    while(j < 9 && i < len && s[i] == s[i-1])
                    {
                        tmp = s[i];
                        j++;
                        i++;
                    }
                    printf("%d%c",j,tmp);
                    --i;
                }
    
                else  ///输出没有重复字符的子串
                {
                    printf("1");
    
                    while(i < len)
                    {
                        if(i + 1 < len &&s[i] == s[i+1])
                        {
                            break;
                        }
                        printf("%c",s[i]);
                        if(s[i] == '1') ///如果是1,就将他们变成11
                        {
                            printf("%c",s[i]);
                        }
                        i++;
                    }
    
                    --i;
    
                    printf("1");
                }
            }
            printf("
    ");
        }
    
        return 0;
    }
  • 相关阅读:
    Linux进程间通信(IPC)
    mq_setattr
    mq_getattr
    mq_unlink
    mq_receive
    mq_send
    mq_close
    POSIX消息队列
    mq_open
    C语言关键字
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5330547.html
Copyright © 2011-2022 走看看