26、创建一个按顺序包含字母表中字母的 vector<char> 。按顺序和逆序打印该向量的元素。
以下是实现该功能的 C++ 代码示例:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<char> alphabet;
// 填充字母表
for (char c = 'a'; c <= 'z'; ++c) {
alphabet.push_back(c);
}
// 按顺序打印
std::cout << "顺序打印: ";
for (char c : alphabet) {
std::cout << c << " ";
}
std::cout << std::endl;
// 逆序打印
std::cout << "逆序打印: ";
for (auto it = alphabet.rbegin(); it != alphabet.rend(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
上述代码首先创建了一个 vector<char> 并填充了字母表中的字母,然后分别按顺序和逆序打印了这些字母。
27、创建一个 vector<string> ,从标准输入 cin 读取一系列水果名称存入其中。对该列表进行排序并打印出来。
以下是实现该功能的 C++ 代码示例:
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
int main() {
std::vector<std::string> fruits;
std::string fruit;
// 从 cin 读取水果名称
while (std::cin >> fruit) {
fruits.push_back(fruit);
}
// 对水果列表进行排序
std::sort(fruits.begin(), fruits.end());
// 打印排序后的水果列表
for (const auto& f : fruits) {
std::cout << f << std::endl;
}
return 0;
}
在上述代码中,首先创建了一个 vector<string> 用于存储水果名称。然后通过 while 循环从标准输入读取水果名称并添加到向量中。接着使用 std::sort 函数对向量进行排序。最后,使用范围 for 循环遍历向量并打印每个水果名称。
28、为一个现有的(非标准、非学生练习用)容器类型编写一个模板,使其具有与标准向量相同的成员函数和成员类型。不要修改现有的容器类型。对于非标准向量提供但标准向量没有的功能,你会如何处理?
要编写一个模板来实现具有与标准向量相同成员函数和成员类型的容器,可定义一个模板类,在其中使用现有容器类型作为底层存储,并实现标准向量的接口。对于非标准向量提供但标准向量没有的功能,可以通过在模板类中添加额外的成员函数来实现这些功能,或者提供一个包装类,在包装类中实现这些额外功能,同时保持模板类的接口与标准向量一致。
29、仅使用标准库算法对列表(list)进行排序。
标准库中的 list 没有提供随机访问迭代器,所以 list 应使用特定的 list 操作进行排序,即使用 list 自身提供的排序方法,而非通用的 sort() 算法。
30、生成一个包含 1 到 100 的数字平方的向量。打印平方数表。对该向量的元素取平方根并打印结果向量。
以下是使用 Python 实现的代码:
import math
# 生成包含 1 到 100 的数字平方的向量
vector = [i**2 for i in range(1, 101)]
# 打印平方数表
print("平方数表:")
for i, num in enumerate(vector, start=1):
print(f"{i} 的平方是: {num}")
# 对向量的元素取平方根
sqrt_vector = [math.sqrt(num) for num in vector]
# 打印结果向量
print("取平方根后的向量:")
print(sqrt_vector)
这段代码首先使用列表推导式生成 1 到 100 的数字平方的向量,然后打印平方数表,接着对向量元素取平方根并打印结果向量。

最低0.47元/天 解锁文章
2628

被折叠的 条评论
为什么被折叠?



