用C++编写一个程序完成下列题目,利用函数模板实现三个数取最大值和最小值功能,要求支持 int、float、double。
时间: 2024-03-23 18:41:47 浏览: 158
C++程序实现三个数中求最大的数
好的,以下是实现这个功能的 C++ 代码:
```cpp
#include <iostream>
#include <algorithm>
template<typename T>
T getMax(T a, T b, T c) {
return std::max(std::max(a, b), c);
}
template<typename T>
T getMin(T a, T b, T c) {
return std::min(std::min(a, b), c);
}
int main() {
int a = 1, b = 2, c = 3;
float d = 1.1, e = 2.2, f = 3.3;
double g = 1.11, h = 2.22, i = 3.33;
std::cout << "Max of int: " << getMax(a, b, c) << std::endl;
std::cout << "Max of float: " << getMax(d, e, f) << std::endl;
std::cout << "Max of double: " << getMax(g, h, i) << std::endl;
std::cout << "Min of int: " << getMin(a, b, c) << std::endl;
std::cout << "Min of float: " << getMin(d, e, f) << std::endl;
std::cout << "Min of double: " << getMin(g, h, i) << std::endl;
return 0;
}
```
我们定义了两个函数模板:`getMax` 和 `getMin`,用于分别获取三个数中的最大值和最小值。这两个函数模板都接受三个参数,类型为 `T`,即可以是 `int`、`float`、`double` 中的任意一种。
在 `main` 函数中,我们分别定义了三个 `int`、`float`、`double` 类型的变量,并分别调用了 `getMax` 和 `getMin` 函数模板,输出了结果。
这个程序可以输出以下结果:
```
Max of int: 3
Max of float: 3.3
Max of double: 3.33
Min of int: 1
Min of float: 1.1
Min of double: 1.11
```
阅读全文