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] != ‘\0‘ && i +j< len; j ++)
        {
            if(s[i+j] == a[j])
                ;
            else
                break;
        }
        if( (i+j == len && a[j]==‘\0‘) || (s[i+j] ==‘ ‘ && a[j] == ‘\0‘) )
            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("\n");
}
时间: 2024-11-05 12:10:57

poj2944:单词替换的相关文章

LUA实现单词替换功能

背景描述 编程或者文档处理过程, 经常遇到需要将一个单词修改为另外一个单词的情况, 例如 命名为 shall 修改 为 should. 使用工具实现, 则比较方便,不容易出错, 解放双手. 需求规格 对于某个文件夹中的所有文本文件(txt), 将某个单词替换为目标单词. 实现思路 对于替换的单词映射, 在配置文件config.lua进行设置, 存储一个表,表中每一行 对应  src vocanbulary 和 dest vocanbulary 对应工具的主题逻辑代码在 replace.lua中实

AC日记——单词替换 1.7 21

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

CQU 单词替换(KMP)

单词替换(KMP) Time Limit: 500 MS Memory Limit: 64000 K Description 给出一个仅包含小写字母的字符串s,和单词A,B.把s中所有的出现过的A替换为B. Input 第一行一个数T(1<=T<=10),表示数据组数 每组数据三行,第一行为s,第二行为A,第三行为B.所有字符串仅包含小写字母 且长度小于5,000,000. Output 每组数据输出一行,替换后的字符串. Sample Input 3 aaa a b aaa aa b aba

【九度OJ】题目1111:单词替换

题目1111:单词替换 题目描述: 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入: 多组数据.每组数据输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<=100) 第3行是a将被替换的单词b.(长度<=100) s, a, b 最前面和最后面都没有空格. 输出: 每个测试数据输出只有 1 行, 将s中所有单词

九度 题目1111:单词替换

题目1111:单词替换 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4068 解决:1153 题目描述: 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入: 多组数据.每组数据输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<=100) 第3行是a将被替换的单词b.(长度<=100) s, a, b

题目1111:单词替换(字符串查找)

题目链接:http://ac.jobdu.com/problem.php?pid=1168 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: // // 1111 单词替换.cpp // Jobdu // // Created by PengFei_Zheng on 26/04/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <stdio

九度oj 题目1111:单词替换

题目描述: 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入: 多组数据.每组数据输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<=100) 第3行是a将被替换的单词b.(长度<=100) s, a, b 最前面和最后面都没有空格. 输出: 每个测试数据输出只有 1 行, 将s中所有单词a替换成b之后的字符串.

题目1111:单词替换

题目描述: 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入: 多组数据.每组数据输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<=100) 第3行是a将被替换的单词b.(长度<=100) s, a, b 最前面和最后面都没有空格. 输出: 每个测试数据输出只有 1 行, 将s中所有单词a替换成b之后的字符串.

九度OJ1111题-单词替换

题目1111:单词替换 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6752 解决:1891 题目描述: 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入: 多组数据.每组数据输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<=100) 第3行是a将被替换的单词b.(长度<=100) s, a, b