单词接龙 阿泰和女友小菲用英语短信玩单词接龙游戏。一人先写一个英文单词,然后另一个人回复一个英文单词,要求回复单词的开头有若干个字母和上一个人所写单词的结尾若干个字母相同,重合部分的长度不限。(如阿泰输入happy,小菲可以回复python,重合部分为py。)现在,小菲刚刚回复了阿泰一个单词,阿泰想知道这个单词与自己发过去的单词的重合部分是什么。他们两人都是喜欢写长单词的英语大神,阿泰觉得用肉眼找重合部分实在是太难了,所以请你编写程序来帮他找出重合部分。 程序运行结果示例1: happy↙ pythen↙ py 程序运行结果示例2: sun↙ unknown↙ un 输入格式: "%s%s" 输出格式: "%s\n"
时间: 2024-03-05 07:53:05 浏览: 139
程序员一枚,用python编写了个脚本,统计近十年高考、四六级和考研真题中每个单词出现的次数,去掉了最常见的英语单词(例如I,t
以下是一份可能的代码实现:
```
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[100], s2[100];
cin >> s1 >> s2;
int len1 = strlen(s1), len2 = strlen(s2);
int len = min(len1, len2);
int i;
for (i = 0; i < len; i++) {
if (s1[len1 - i - 1] != s2[i]) {
break;
}
}
if (i == 0) {
cout << "null" << endl;
} else {
for (int j = i - 1; j >= 0; j--) {
cout << s2[j];
}
cout << endl;
}
return 0;
}
```
代码首先读入两个字符串 `s1` 和 `s2`,然后计算它们的长度,并取长度的最小值作为重合部分的最大长度。
接着从后往前扫描 `s1` 和 `s2`,直到发现不同的字符为止,记录下重合部分的长度 `i`。
如果重合部分的长度为0,则输出 "null";否则从 `s2` 中倒序输出重合部分。注意,因为 `i` 是重合部分的长度,所以输出时应该倒序输出前 `i` 个字符。最后记得输出一个换行符。
阅读全文