[蓝蓝计算机考研算法训练二期]-day12

71 阅读1分钟

16、字符串替换

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

  • 输入

输入包含多行数据

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

数据以EOF结尾

  • 输出

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

思路

将字符串读入以后,用strncmp函数检测到的you替换成we后输出。

具体实现

#include <stdio.h>
#include <string.h>

#define MAX_LEN 1000

int main() {
    char str[MAX_LEN];
    while (fgets(str, MAX_LEN, stdin) != NULL) {
        if (strcmp(str, "EOF\n") == 0) {  // 如果输入为 "EOF",则退出程序
            break;
        }
        int len = strlen(str);
        for (int i = 0; i < len; i++) {
            if (strncmp(&str[i], "you", 3) == 0) {
                printf("we");
                i += 2;
            } else {
                printf("%c", str[i]);
            }
        }
    }
    return 0;
}

image.png

小结

字符串的替换,只需要利用函数找到该字符串后,然后输出即可。