此程序“FindMIn”将两个值作为其参数并返回最小值。我正在尝试更改我的程序,以便它将三个值作为参数并返回三个值中的最小值。这就是我到目前为止但是如何?
#include <iostream>
using namespace std;
//function prototypes go before main - parameters much match those of the function definition
int FindMin(int x, int y);
//place prototype for PrintOutput here
int main()
{
int n1, n2, n3;
int result;
char answ = 'Y';
while (answ == 'Y')
{
cout << "Please enter three numbers..." << endl;
cin >> n1 >> n2 >> n3;
result = FindMin(n1, n2); //function call
//place call to function PrintOutput here
cout << "Would you like to run the program again? Enter Y or N" << endl;
cin >> answ;
}
return(0);
}
//***************************************************************
//FindMin - returns the minimum of two values
//***************************************************************
int FindMin(int a, int b)
{
if (a < b)
return a;
else
return b;
}
//******************************************************************
//PrintOutput - prints the values input and the smallest of the
//three values
//******************************************************************
void PrintOutput(int first, int second, int min)
{
cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
cout << "The minimum value of " << first << ", " <<
second << ", is " << min << endl;
cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << endl;
}
答案 0 :(得分:0)
首先在纸上解决。
你有三个数字,比方说:1 2 3
。
你有一个函数findMin(int a, int b)
,它返回给定的两个中最小的一个。你不能直接使用这个函数,因为它只有两个参数 - 但你可以用另一种方式组合它给你至少三个数字。这是基本的数学函数使用。
这是一个提示:
min(1,2) = 1
min(1,3) = 1
min(2,3) = 2
min(1,min(2,3)) = 1
答案 1 :(得分:0)
您需要将FindMin参数展开为3个整数:
int FindMin(int x, int y, int z);
// ...
int main()
{
// ...
cin >> n1 >> n2 >> n3;
result = FindMin(n1, n2, n3); //function call
// ...
}
// ...
int FindMin(int x, int y, int z)
{
// Place the code that compares the three numbers and returns minimum here
}
答案 2 :(得分:-6)
cin >> n1 >> n2 >> n3;
这可能是一个问题,因为n1 / n2 / n3是整数。您需要接受ASCII字符串并将其转换为int。对于这么简单的事情,你可以使用atoi
,它看起来像:
char buffer[1024];
cin >> buffer;
n1 = atoi(buffer);
技巧是将数字的文本表示转换为实际数字,这是您的函数所必需的。只使用这些字符几乎肯定会产生一些奇怪的结果。