时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:4473

解决:1268

题目描述:

输入一个字符串,以回车结束(字符串长度<=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
来源:
2007年北京大学计算机研究生机试真题

思路:

用二维字符串数组存储,查找字符串并替换即可,复杂度O(n)。

如果有很多单词要被替换,就要考虑排序了。此题并不需要。

代码:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define M 100
 
int main(void)
{
    int i;
    int n;
    char a[M][M+1], b[M+1], c[M+1], tmp[M+1];
 
    while (gets(tmp))
    {
        n = 0;
        i = 0;
        while (tmp[i])
        {
            sscanf(tmp+i, "%s", a[n++]);
            while(isalpha(tmp[i]))
                i ++;
            if (tmp[i] == ' ')
                i ++;
        }
 
        scanf("%s", b);
        scanf("%s", c);
        getchar();
 
        for (i=0; i<n; i++)
        {
            if (strcmp(a[i], b) == 0)
                strcpy(a[i], c);
        }
 
        for (i=0; i<n-1; i++)
            printf("%s ", a[i]);
        printf("%s\n", a[i]);
    }
 
    return 0;
}
/**************************************************************
    Problem: 1111
    User: liangrx06
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:916 kb
****************************************************************/

最新文章

  1. webDriver 执行杀死浏览器进程方法
  2. 免费提供UG、ProE二次开发、定制化开发服务
  3. MyBatis 一级缓存与二级缓存
  4. BZOJ NOI十连测 第一测 T2
  5. C语言入门(3)——对Hello World程序的解释
  6. sitemap xml文件生成
  7. arm cortex-m0plus源码学习(一)整体框架
  8. spring 之 init-method &amp; InitializingBean
  9. MySql错误处理-错误处理的例子
  10. ZooKeeper管理分布式环境中的数据
  11. SpagoBI 教程 Lesson 3: Highchart Dashboards
  12. 基于Axis1.4的webservice接口开发(环境搭建)
  13. Jmeter之性能测试
  14. linux usb信息查看与调试
  15. Erlang的Web库和框架
  16. Problem I: GJJ的日常之玩游戏(GDC)
  17. 【JavaScript】__proto__和prototype的区别和联系【整理】
  18. df: `/root/.gvfs&#39;: Permission denied
  19. java 乱码问题解决思路
  20. 打通Java与MySQL的桥梁——jdbc

热门文章

  1. webconfig连接串的使用与用代码写连接串的使用
  2. css3 boxing-sizing属性
  3. Android系统默认语言改为中文
  4. toUpperCase与toLowerCase
  5. Python基础数据类型补充及深浅拷贝
  6. [Python Cookbook] Numpy Array Manipulation
  7. SVG动画实践篇-字母切换
  8. pycharm的todo和fixme标记,标志为今后再做和bug点
  9. 如何使用ssh远程编辑定时任务crontab?
  10. 百科知识 DMG文件如何打开