用c++从键盘输入5个数,然后将这5个数按逆转 后的顺序输出出来。要求逆转顺序的函数能 够处理整型、双精度型、字符串类型的数据。(用函数重载实现)
时间: 2024-10-21 12:06:18 浏览: 21
在C++中,你可以创建一个通用的函数模板来处理整型、浮点型(包括双精度型)以及字符串类型的反转。下面是一个示例程序,它包含了逆转整型、双精度型和字符串的函数,并通过函数重载实现:
```cpp
#include <iostream>
#include <string>
#include <algorithm> // 使用std::reverse算法
// 函数模板,用于反转不同类型的数据
template<typename T>
void reverseAndPrint(T& input) {
std::vector<T> vec(1, input); // 将单值转换为向量以便操作
std::reverse(vec.begin(), vec.end());
for (const auto& value : vec) {
std::cout << value << " ";
}
std::cout << std::endl;
}
int main() {
int intVal;
double doubleVal;
std::string strVal;
// 输入五个整数
std::cout << "请输入五个整数:";
for (int i = 0; i < 5; ++i) {
std::cin >> intVal;
reverseAndPrint(intVal);
}
// 输入五个双精度数
std::cout << "请输入五个双精度数:";
for (int i = 0; i < 5; ++i) {
std::cin >> doubleVal;
reverseAndPrint(doubleVal);
}
// 输入五个字符串
std::cout << "请输入五个字符串:";
for (int i = 0; i < 5; ++i) {
std::getline(std::cin, strVal);
reverseAndPrint(strVal);
}
return 0;
}
阅读全文