C++ 编写求最大值max和最小值min的函数模板,函数参数为求两个数的最值。编写完整程序验证。 要求:多文件结构
时间: 2024-03-06 16:48:28 浏览: 108
好的,以下是 C++ 的求最大值和最小值的函数模板的实现:
在 `max_min.hpp` 中,实现模板函数 `max_min`:
```c++
template <typename T>
void max_min(T a, T b, T& max_val, T& min_val) {
if (a > b) {
max_val = a;
min_val = b;
} else {
max_val = b;
min_val = a;
}
}
```
在 `main.cpp` 中,编写主函数来验证:
```c++
#include <iostream>
#include "max_min.hpp"
int main() {
int x = 1, y = 2, max_val, min_val;
max_min(x, y, max_val, min_val);
std::cout << "x = " << x << ", y = " << y << std::endl;
std::cout << "max_val = " << max_val << ", min_val = " << min_val << std::endl;
double a = 1.5, b = 3.7, max_val_d, min_val_d;
max_min(a, b, max_val_d, min_val_d);
std::cout << "a = " << a << ", b = " << b << std::endl;
std::cout << "max_val_d = " << max_val_d << ", min_val_d = " << min_val_d << std::endl;
return 0;
}
```
这里定义了两个变量 `x` 和 `y`,以及两个变量 `a` 和 `b`,然后分别调用 `max_min` 函数,输出最大值和最小值。
编译并运行:
```
g++ main.cpp -o main
./main
```
输出结果为:
```
x = 1, y = 2
max_val = 2, min_val = 1
a = 1.5, b = 3.7
max_val_d = 3.7, min_val_d = 1.5
```
可以看到,函数模板正确地输出了每组输入中的最大值和最小值。
阅读全文