题目:字符串替换
编写一个程序将字符串的所有的‘you'替换成‘we’
- 输入
输入包含多行数据,每行数据是一个字符串,长度不超过1000 ,数据以EOF结束 - 输出
对于输入的每一行,输出替换后的字符串
思路
用gets函数接收字符串,接着循环匹配you,只有当字符串连着三个字符与you匹配时打印出we否则就直接打印原来的字符
算法实现
include<stdio.h>
#include<string.h>
int main()
{
char s[1000];
while (gets(s)) {
int len = strlen(s);//接收字符串长度
for (int i = 0; i < len; i++)
{
if (s[i] == 'y' && s[i + 1] == 'o' && s[i + 2] == 'u')
{
printf("we");
i=i + 2;//因为如果匹配成功则是三个字符一起被消耗掉,所以在这里要给i+2
}
else
{
printf("%c", s[i]);
}
}
printf("\n");
}
return 0;
}
示例
总结
今天写这题差点翻车,上午正好在看数据结构的串那块,结果想着会不会用串的基本操作来实现会简单些,没想到很麻烦,有点思维定式的样子,然后想了想直接用条件语句判断三个连续字符是否与‘you’相等不就行了嘛,还,今天是小傻瓜的一天。