用c++编译:输入两个长度小于100的字符串,输出他们共有的字符数量。
时间: 2023-12-10 09:40:36 浏览: 34
以下是使用 C++ 编写的程序:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1, s2;
int count = 0;
cout << "请输入第一个字符串:" << endl;
cin >> s1;
cout << "请输入第二个字符串:" << endl;
cin >> s2;
for (int i = 0; i < s1.length(); i++) {
for (int j = 0; j < s2.length(); j++) {
if (s1[i] == s2[j]) {
count++;
break;
}
}
}
cout << "两个字符串共有 " << count << " 个字符相同。" << endl;
return 0;
}
```
程序先要求用户输入两个字符串,然后使用两个嵌套循环遍历两个字符串中的每一个字符,如果两个字符相等,则计数器加一。最后输出计数器的值即为两个字符串共有的字符数量。
相关问题
帮我写一个简单的c++项目:实现接收用户输入一串字符串, 将用户输入的字符串用数组读取出来
好的,这个问题属于编程问题,那么我可以直接帮您回答。以下是一个简单的C语言程序,可以接收用户输入一串字符串,并将字符串用数组读取出来:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH]; // 定义存放字符串的数组
printf("请输入一个字符串:");
scanf("%s", str); // 接收用户输入的字符串
int len = strlen(str); // 获取字符串的长度
printf("您输入的字符串是:");
for (int i = 0; i < len; i++) {
printf("%c", str[i]); // 逐个输出数组中的字符
}
printf("\n");
return 0;
}
```
您可以将以上代码复制到您的C文件中,然后编译运行即可。希望能够帮到您。
C++输入任意两个字符串S1,S2,输出两个字符串的最长公共前缀,如果没有输出空字符串
好的,以下是用 C++ 编写的代码来实现你的需求:
```cpp
#include <iostream>
#include <string>
using namespace std;
string longestCommonPrefix(string s1, string s2) {
string result = "";
int i = 0;
while (i < s1.length() && i < s2.length() && s1[i] == s2[i]) {
result += s1[i];
i++;
}
return result;
}
int main() {
string s1, s2;
cout << "请输入字符串S1: ";
cin >> s1;
cout << "请输入字符串S2: ";
cin >> s2;
string commonPrefix = longestCommonPrefix(s1, s2);
if (commonPrefix.empty()) {
cout << "两个字符串没有最长公共前缀。" << endl;
} else {
cout << "最长公共前缀为: " << commonPrefix << endl;
}
return 0;
}
```
你可以将以上代码保存为 `.cpp` 文件,然后使用 C++ 编译器进行编译运行。
请注意,我只提供了一个简单的实现,可能并不是最优的解决方案。在实际应用中,你可能需要考虑更多的边界情况和优化。