问题及代码:
/*Copyright(c)2016,烟台大学计算机学院 all rights reserved.
作者:曹欣宇
指导教师:贺利坚
完成日期:2016年12月12日
题目描述
编写一个C程序实现将字符串中的所有"you"替换成"we"
输入
输入包含多行数据
每行数据是一个字符串,长度不超过1000
数据以EOF结束
输出
对于输入的每一行,输出替换后的字符串
样例输入
you are what you do
样例输出
we are what we do
*/
#include
int main()
{
char s[1003];
int i, j;
while (gets(s))
{
for (i = 0; s[i] != '\0'; i++)
{
if (s[i] == 'y' && s[i + 1] == 'o' && s[i + 2] == 'u')
{
s[i] = 'w';
s[i + 1] = 'e';
// s[i+2]=' ';
for (j = i + 2; s[j] != '\0'; j++)
s[j] = s[j + 1];
}
}
printf("%s", s);
}
return 0;
}
运行结果:
知识点总结:
通过学习,愈加熟练地对字符串的处理。
学习心得:
这个题还是有一定难度的,这并不是简单地替换,而是在里面又加了个循环,还有个问题,这个代码里并没有使用EOF,不知道为什么对。