poj3981 字符串替换-字符串的基本操作

Description
编写一个C程序实现将字符串中的所有"you"替换成"we"

Input
输入包含多行数据

每行数据是一个字符串,长度不超过1000
数据以EOF结束

Output
对于输入的每一行,输出替换后的字符串

Sample Input

you are what you do

Sample Output

we are what we do

法一
代码如下:

#include 
using namespace std;
const int N = 1010;
char str[N];

int main() {
	while (gets(str) != NULL) {
		for (int i  = 0; str[i] != '\0'; i++) {
			if (str[i] == 'y' && str[i + 1] == 'o' && str[i + 2] == 'u') {
				printf("we");
				i = i + 2;
			} else
				printf("%c", str[i]);
		}
		printf("\n");
	}
	return 0;
}

法二
代码如下:

#include 
#include 
using namespace std;

int main() {
	char c1, c2, c3;
	while ((c1 = getchar()) != EOF) {
		if (c1 == 'y') {
			if ((c2 = getchar() ) == 'o') {
				if ((c3 = getchar()) == 'u') {
					printf("we");
				} else
					printf("yo%c", c3);
			} else
				printf("y%c", c2);
		} else
			printf("%c", c1);
	}
	return 0;
}

法三
代码如下:

#include 
#include 
using namespace std;

int main() {
	string str;
	while (getline(cin, str)) {
		int pos;
		while ((pos = str.find("you")) != -1) {
			str.replace(pos, 3, "we");
		}
		cout << str << endl;
	}
	return 0;
}

你可能感兴趣的:(罗书,字符串,算法,string,C++,容器)