系统会给出两个字符串,你需要获取到这两个数据(方法同从键盘获取一样),并找到他们最长的公共字符串,并且将他们的长度打印。
时间: 2023-04-12 08:04:45 浏览: 73
好的,我来回复。这道题目要求我们从系统给出的两个字符串中找到最长的公共字符串,并输出它的长度。我们可以使用字符串匹配的方法来解决这个问题。具体来说,我们可以先遍历其中一个字符串,然后在另一个字符串中查找是否有相同的子串。如果找到了,就记录下来这个子串的长度,然后继续往下遍历。最后输出找到的最长公共字符串的长度即可。
相关问题
python求解两个字符串最长公共前缀,从键盘输入
您好,欢迎和 ChitGPT 进行对话!关于您的问题,可以使用 Python 的字符串操作来求解两个字符串的最长公共前缀。以下是一个简单的实现:
```python
str1 = input("请输入字符串1:")
str2 = input("请输入字符串2:")
# 求解最长公共前缀
i = 0
while i < len(str1) and i < len(str2) and str1[i] == str2[i]:
i += 1
# 输出结果
print("最长公共前缀为:", str1[:i])
```
这段代码会先从键盘输入两个字符串,然后在一个 while 循环中逐个比较两个字符串的字符。只要字符相同,就继续往后比较,直到出现不同的字符或者某个字符串结束。最后,程序会输出两个字符串的最长公共前缀。
c语言从键盘输入5个字符串,找出最长的字符串和最大的字符串
可以使用数组和循环来实现从键盘输入5个字符串,并找出最长和最大的字符串。
首先,定义一个字符数组,用于存储输入的5个字符串。然后,使用循环从键盘输入5个字符串,并将它们存储在数组中。在输入过程中,可以使用字符串函数`strlen`来获取每个字符串的长度,以便后续比较。
接着,定义两个变量,分别用于记录最长和最大的字符串。使用循环遍历数组中的每个字符串,比较它们的长度和字典序,更新最长和最大的字符串。可以使用字符串函数`strcmp`来比较两个字符串的字典序。
最后,输出最长和最大的字符串即可。
以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char strs[5][100]; // 定义字符数组,用于存储5个字符串
int i, max_len = 0, max_str = 0;
int longest_len = 0, longest_str = 0;
// 从键盘输入5个字符串
for (i = 0; i < 5; i++) {
printf("请输入第%d个字符串:", i+1);
scanf("%s", strs[i]);
int len = strlen(strs[i]);
if (len > longest_len) {
longest_len = len;
longest_str = i;
}
}
// 找出最大和最长的字符串
for (i = 0; i < 5; i++) {
if (strcmp(strs[i], strs[max_str]) > 0) {
max_str = i;
}
if (strlen(strs[i]) > max_len) {
max_len = strlen(strs[i]);
longest_str = i;
}
}
// 输出结果
printf("最长的字符串是:%s\n", strs[longest_str]);
printf("最大的字符串是:%s\n", strs[max_str]);
return 0;
}
```