#include <stdio.h> #include <string.h> int main() { char s[1010]; while (fgets(s, 1010, stdin) != NULL) { int n = strlen(s); if (n > 0 && s[n - 1] == '\n') { s[n - 1] = '\0'; } char a[101]="", b[101]=""; if (fgets(a, 101, stdin) != NULL) { int an = strlen(a); if (an > 0 && a[an - 1] == '\n') { a[an - 1] = '\0'; } } if (fgets(b, 101, stdin) != NULL) { int bn = strlen(b); if (bn > 0 && b[bn - 1] == '\n') { b[bn - 1] = '\0'; } } char* token; char str[1000] = ""; //拼接到str字符串中 token = strtok(s, " \n"); //根据空格截取单词 while (token != NULL) { if (strcmp(a, token) == 0) { strcat(str, b); } else { strcat(str, token); } strcat(str, " "); token = strtok(NULL, " \n"); } int len = strlen(str); if (len > 0 && str[len - 1] == ' ') { str[len - 1] = '\0'; } printf("%s", str); } return 0; }