用c++实现,求2个或3个正整数中的最大数,用带有默认参数的函数实现
时间: 2024-05-15 21:18:26 浏览: 95
C++程序实现三个数中求最大的数
好的,我会记住您的要求并为您回答问题。
您可以使用以下代码来解决您的问题:
```c
#include <stdio.h>
int max(int a, int b, int c=0) {
if (c != 0) {
if (a >= b && a >= c) {
return a;
} else if (b >= a && b >= c) {
return b;
} else {
return c;
}
} else {
if (a >= b) {
return a;
} else {
return b;
}
}
}
int main() {
int num1, num2, num3;
printf("请输入两个或三个正整数,以空格分隔:\n");
scanf("%d %d %d", &num1, &num2, &num3);
if (num3 != 0) {
printf("最大值为: %d\n", max(num1, num2, num3));
} else {
printf("最大值为: %d\n", max(num1, num2));
}
return 0;
}
```
这里使用了一个名为 `max` 的函数来计算2个或3个正整数中的最大值。在函数的开头,我们使用了默认参数 `c=0`。如果使用 `max` 函数时,只传递了2个参数,则默认值 `c` 为0。
函数主体内使用了条件判断语句来比较3个数字的大小,并返回最大值。
在 `main` 函数中,我们使用 `scanf` 函数获取用户输入的数字,并传递给 `max` 函数进行处理。最后,我们在控制台输出最大值。
希望这可以帮助您解决问题。如果您有任何其他问题,请尽管问我。
阅读全文