输入两个整数,试利用指向函数的指针计算两个数字的最大值和最小值。 输入描述 一行两个整数,用空格分开。 输出描述 两行,分别表示两个整数的最大值与最小值。
时间: 2024-12-08 08:23:35 浏览: 12
你可以通过定义一个返回最大值和最小值的函数,然后使用指向该函数的指针来调用这个函数并获取结果。这里是一个简单的示例,假设我们有两个整数a和b:
```cpp
#include <iostream>
// 函数模板,用于找出两个整数的最大值和最小值
template <typename T>
void findMinMax(T a, T b, T (&func)(T, T), T &maxVal, T &minVal) {
maxVal = func(a, b);
minVal = func(b, a); // 交换a和b的位置,因为min通常是最小的那个
}
// 定义一个返回最大值的函数
int max(int x, int y) {
return x > y ? x : y;
}
// 定义一个返回最小值的函数
int min(int x, int y) {
return x < y ? x : y;
}
int main() {
int num1, num2;
std::cin >> num1 >> num2;
// 指向findMinMax函数的指针,分别对应求最大值和最小值的操作
int (*ptrMax)(int, int) = &max;
int (*ptrMin)(int, int) = &min;
// 调用函数,存储结果
int maxResult, minResult;
findMinMax(num1, num2, *ptrMax, maxResult, minResult);
// 输出结果
std::cout << "最大值: " << maxResult << std::endl;
std::cout << "最小值: " << minResult << std::endl;
return 0;
}
```
阅读全文