第15周 oj Problem L: 字符串替换(串)

时间:2021-05-27 02:48:07

问题及代码:

/*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<stdio.h>
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;
}

运行结果:

第15周 oj Problem L: 字符串替换(串)

知识点总结:

通过学习,愈加熟练地对字符串的处理。

学习心得:

这个题还是有一定难度的,这并不是简单地替换,而是在里面又加了个循环,还有个问题,这个代码里并没有使用EOF,不知道为什么对。