zoukankan      html  css  js  c++  java
  • poj2944:单词替换

    好几天没更了,这几天先是刚搬完砖,玩了一整天,接着乘火车回家,所以没做题。然后今晚做了这道简单题,最开始还WA了好几次,卧槽。。。

    怒了直接推倒重写。。。

    下面是题目

    总时间限制: 1000ms 内存限制: 65536kB
    描述
    输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
    输入
    输入包括3行,
    第1行是包含多个单词的字符串 s,
    第2行是待替换的单词a,(长度<=100)
    第3行是a将被替换的单词b。(长度<=100)
    
    s, a, b 最前面和最后面都没有空格.
    输出
    输出只有 1 行,
    将s中所有单词a替换成b之后的字符串。
    样例输入
    You want someone to help you
    You
    I
    样例输出
    I want someone to help you

    这种字符串的题目,如果没什么算法含量的话,一定要小心又小心。。。

    特别匹配的时候一定要注意到此刻匹配到哪个位置了,一旦错了就蛋碎了。。。

    今晚傻逼地WA了几次,还完全不知道问题在哪里。。。重新写了一遍才勉强A掉了。。。

    没什么技术含量,仔细一点就肯定能A的题目,直接贴代码:

    #include <iostream>
    #include <stdio.h>
    #include <cstring>
    using namespace std;
    
    
    char s[102],a[102],b[102];
    
    int main()
    {
        cin.getline(s,101);
        cin.getline(a,101);
        cin.getline(b,101);
        int len = strlen(s);
        for(int i = 0; i < len; i ++)
        {
            bool f = false;
            int j = 0;
            for(; a[j] != '' && i +j< len; j ++)
            {
                if(s[i+j] == a[j])
                    ;
                else
                    break;
            }
            if( (i+j == len && a[j]=='') || (s[i+j] ==' ' && a[j] == '') )
                f = true;
            if(f)
            {
                printf("%s",b);
                i+=j;
                if(i<len)
                    printf(" ");
            }
            else
            {
                for(; i < len; i ++)
                {
                    if(s[i] != ' ')
                        printf("%c", s[i]);
                    else
                    {
                        printf(" ");
                        break;
                    }
                    
                }
            }
            
        }
        printf("
    ");
    }
  • 相关阅读:
    C++学习笔记32:泛型编程拓展1
    C++学习笔记31:术语翻译
    Sqrt(x)
    Search a 2D Matrix
    Pascal's Triangle II
    Pascal's Triangle
    Climbing Stairs
    Linux实用命令
    Binary Tree Inorder Traversal
    Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/xiaoshen555/p/3870850.html
Copyright © 2011-2022 走看看