输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
输入描述:
多组数据。每组数据输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<=100) 第3行是a将被替换的单词b。(长度<=100) s, a, b 最前面和最后面都没有空格.
输出描述:
每个测试数据输出只有 1 行, 将s中所有单词a替换成b之后的字符串。
示例1
输入
You want someone to help you You I
输出
I want someone to help you
题解
用strcmp()比较单词是否需要替换,同时需要理解一下strtok()函数,strtok( )函数包含于头文件string.h
语法:char *strtok( char *str1, const char *str2 );
功能:函数返回字符串str1中紧接“标记”的部分的指针, 字符串str2是作为标记的分隔符。如果分隔标记没有找到,函数返回NULL。为了将字符串转换成标记,第一次调用str1 指向作为标记的分隔符。之后所有的调用str1 都应为NULL
NULL的作用只是为了使得每次调用时,都不是从原字符串的头开始,而是从上次调用时查找所停止的位置开始,如此循环下去,直到无法再找到匹配的时候位置