用c++语言分别编写2个同名函数maxl实现函数的重载,测试这两个函数的功能。第一个max1函数的输入参数为三个整数,求取并返回其中的最大值。第二个max1函数的输入参数为三个双精度浮点数,求取并返回其中的最大值。
时间: 2023-05-22 14:01:14 浏览: 293
好的,以下是两个同名函数maxl的实现:
```c
#include <stdio.h>
int max1(int a, int b, int c) {
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
return max;
}
double max1(double a, double b, double c) {
double max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
return max;
}
int main() {
int max_int = max1(1, 2, 3);
double max_double = max1(1.0, 2.0, 3.0);
printf("max_int = %d\n", max_int);
printf("max_double = %lf\n", max_double);
return 0;
}
```
这里我们定义了两个同名函数max1,一个用于处理整数,一个用于处理双精度浮点数。在函数内部,我们使用了类似于选择排序的方法,依次比较三个数的大小,找出最大值并返回。
我们在main函数中分别调用了这两个函数,并输出了它们的返回值。当我们编译并运行这个程序时,输出结果如下:
```
max_int = 3
max_double = 3.000000
```
可以看到,两个函数都能够正确地返回输入参数中的最大值。
阅读全文