三、实验内容: 串采用定长顺序存储结构或堆分配存储空间前提下,完成如下三个任务: 1.串比较操作:编写一个比较串s和串t两个串是否相等的函数。 2.串拼接操作:将串t连接到串s后形成一个新串。 3.求串长操作:输出串s的值。 注:串的值可以从键盘任意输入一个字符串获得。
时间: 2024-09-23 11:02:47 浏览: 58
串的定长顺序存储表示-数据结构课程教学
在C++中,你可以使用`std::string`类型来实现这个实验的内容。这里我为你提供一个简单的实现:
1. **串比较操作**:
可以使用`==`运算符来比较两个字符串是否相等。以下是一个函数示例:
```cpp
#include <iostream>
#include <string>
bool compareStrings(const std::string& s, const std::string& t) {
return s == t;
}
int main() {
std::string s, t;
std::cout << "Enter string s: ";
getline(std::cin, s);
std::cout << "Enter string t: ";
getline(std::cin, t);
bool areEqual = compareStrings(s, t);
if (areEqual) {
std::cout << "Strings are equal.\n";
} else {
std::cout << "Strings are not equal.\n";
}
return 0;
}
```
2. **串拼接操作**:
使用`+`运算符可以将两个字符串连接起来。在这个例子中,我们先获取用户的输入,然后连接它们:
```cpp
std::string concatenatedString = s + " " + t; // 注意添加空格或其他分隔符,根据需求调整
// 输出结果
std::cout << "Concatenated string: " << concatenatedString << "\n";
```
3. **求串长操作**:
`std::string`类型的长度可以通过`.`运算符访问`length()`成员函数得到:
```cpp
int lengthOfS = s.length();
std::cout << "Length of string s: " << lengthOfS << "\n";
```
完整的实验代码可以组合这些部分:
```cpp
#include <iostream>
#include <string>
// 函数定义
bool compareStrings(const std::string& s, const std::string& t);
void concatenateAndPrint(const std::string& s, const std::string& t);
int main() {
std::string s, t;
// 输入
std::cout << "Enter string s: ";
getline(std::cin, s);
std::cout << "Enter string t: ";
getline(std::cin, t);
// 比较
bool areEqual = compareStrings(s, t);
if (areEqual) {
std::cout << "Strings are equal.\n";
} else {
std::cout << "Strings are not equal.\n";
}
// 拼接
concatenateAndPrint(s, t);
// 长度
int lengthOfS = s.length();
std::cout << "Length of string s: " << lengthOfS << "\n";
return 0;
}
// 定义串比较函数
bool compareStrings(const std::string& s, const std::string& t) {
return s == t;
}
// 定义串拼接并打印函数
void concatenateAndPrint(const std::string& s, const std::string& t) {
std::string concatenatedString = s + " " + t;
std::cout << "Concatenated string: " << concatenatedString << "\n";
}
```
阅读全文