zoukankan      html  css  js  c++  java
  • 九度OJ 1168:字符串的查找删除 (查找)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:4276

    解决:1699

    题目描述:

    给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。

    输入:

    输入只有1组数据。
    输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。

    输出:

    删除输入的短字符串(不区分大小写)并去掉空格,输出。

    样例输入:
    in
    #include 
    int main()
    {
    
    printf(" Hi ");
    }
    样例输出:
    #clude
    tma()
    {
    
    prtf("Hi");
    }
    提示:

    注:将字符串中的In、IN、iN、in删除。

    来源:
    2009年北京航空航天大学计算机研究生机试真题

    思路:

    含空格的输入可以用gets函数。


    代码:

    #include <stdio.h>
    #include <string.h>
     
    #define M 100
     
    int match(char c1, char c2)
    {
        if ('A' <= c1 && c1 <= 'Z')
            c1 += 'a'-'A';
        if ('A' <= c2 && c2 <= 'Z')
            c2 += 'a'-'A';
        return (c1 == c2);
    }
     
    void delete(char *s, int len)
    {
        int i;
        for (i=0; i<strlen(s)-len; i++)
            s[i] = s[i+len];
        s[i] = '';
    }
     
    int main(void)
    {
        int j, k, m;
        int matched;
        char s[M], mod[M];
     
        //scanf("%s", mod);
        gets(mod);
        while (gets(s))
        {
            for (j=0; j<strlen(s); j++)
            {
                if (s[j] == mod[0])
                {
                    matched = 1;
                    for (m=j, k=0; m<strlen(s) && k<strlen(mod); m++, k++)
                    {
                        if (! match(s[m], mod[k]))
                        {
                            matched = 0;
                            break;
                        }
                    }
                    if (m == strlen(s) && k<strlen(mod))
                        matched = 0;
                    if (matched == 1)
                        delete(s+j, strlen(mod));
                }
                else if (s[j] == ' ')
                    delete(s+j, 1);
            }
            printf("%s
    ", s);
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1168
        User: liangrx06
        Language: C
        Result: Accepted
        Time:0 ms
        Memory:912 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    zoj_3710Friends
    javamail例子
    HttpURLConnection类的用法
    发送邮件协议
    栈的定义
    tomcat中添加jconsole服务
    HttpURLConnection类的用法
    javamail例子
    tomcat中添加jconsole服务
    栈的定义
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083859.html
Copyright © 2011-2022 走看看