用c++编写一个程序,用来求2个或3个正整数中的最大数,用不带有默认参数的函数实现。
时间: 2024-05-08 18:20:26 浏览: 136
以下是用C++编写的程序,用于求2个或3个正整数中的最大值,使用不带有默认参数的函数实现:
```cpp
#include <iostream>
using namespace std;
// 求2个正整数中的最大值
int max(int a, int b)
{
return (a > b) ? a : b;
}
// 求3个正整数中的最大值
int max(int a, int b, int c)
{
return max(max(a, b), c);
}
int main()
{
int num1, num2, num3;
cout << "请输入两个或三个正整数,以空格分隔:" << endl;
cin >> num1 >> num2;
if (cin.peek() == ' ') // 检查输入是否有三个数
{
cin.ignore();
cin >> num3;
cout << "最大值为:" << max(num1, num2, num3) << endl;
}
else
{
cout << "最大值为:" << max(num1, num2) << endl;
}
return 0;
}
```
该程序使用了两个不带默认参数的函数 `max`,分别用于求两个或三个正整数中的最大值。在 `main` 函数中,程序先读入两个数,然后检查是否有第三个数输入,如果有则读入第三个数,最后输出最大值。
相关问题
用c++. 编写一个程序,求2个数或3个正整数中的最大数。 用不带默认参数的函数实现
好的,这是一个简单的程序,使用C++编写,可以求出2个数或3个正整数中的最大数:
```c++
#include <iostream>
using namespace std;
int getMax(int a, int b, int c) {
int maxNum = a;
if (b > maxNum) {
maxNum = b;
}
if (c > maxNum) {
maxNum = c;
}
return maxNum;
}
int getMax(int a, int b) {
return (a > b) ? a : b;
}
int main() {
int a, b, c;
cout << "请输入2个或3个正整数,以空格分隔:" << endl;
cin >> a >> b >> c;
if (c) {
cout << "最大数是:" << getMax(a, b, c) << endl;
} else {
cout << "最大数是:" << getMax(a, b) << endl;
}
return 0;
}
```
该程序中,我们定义了两个函数 `getMax`,一个带有三个参数,用于找到三个正整数中的最大值;另一个带有两个参数,用于找到两个正整数中的最大值。在 `main` 函数中,首先要求用户输入2个或3个正整数,然后根据用户输入的实参选择调用哪个 `getMax` 函数。如果用户输入了3个数,则调用带有三个参数的函数,否则调用带有两个参数的函数。
这个程序简单易懂,可以完成您的要求。
用C++编写以下题目:编一个程序,用来求 2 个或 3 个正整数中的最大数。 ①用不带默认参数的函数实现。 ②用带有默认参数的函数实现。
不带默认参数的函数实现:
```cpp
#include <iostream>
using namespace std;
int max(int a, int b, int c) {
int max_num = a;
if (b > max_num) {
max_num = b;
}
if (c > max_num) {
max_num = c;
}
return max_num;
}
int main() {
int a, b, c;
cout << "请输入三个正整数: ";
cin >> a >> b >> c;
cout << "最大值为:" << max(a, b, c) << endl;
return 0;
}
```
带有默认参数的函数实现:
```cpp
#include <iostream>
using namespace std;
int max(int a, int b, int c = 0) {
int max_num = a;
if (b > max_num) {
max_num = b;
}
if (c > max_num) {
max_num = c;
}
return max_num;
}
int main() {
int a, b, c;
cout << "请输入两个或三个正整数: ";
cin >> a >> b >> c;
if (c == 0) {
cout << "最大值为:" << max(a, b) << endl;
} else {
cout << "最大值为:" << max(a, b, c) << endl;
}
return 0;
}
```
阅读全文