我必須編寫一個函數,將從最低到最高三個變量重新排序。函數的名字是void reorder,我很好奇,如果無論如何,我可以在這個函數裏面調用我的max和min函數來壓縮我的代碼,或者如果有一種方法我不使用IF語句編寫它。我已經開始了,我想知道繼續之前該怎麼做。 謝謝編寫重新排序功能
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
/*
*
*/
int min3int(int a, int b, int c)
// function returns the minimum of 3 integer inputs
//@
//@
{
if(a<b)
{
if(a<c)
{
return a;
}
}
else if(b<a)
{
if(b<c)
{
return b;
}
}
else if (c<a)
{
if(c<b)
{
return c;
}
}
}
int max3int(int a, int b, int c)
// function returns the maximum of 3 integer inputs
//@
//@
{
if(a>b)
{
if(a>c)
{
return a;
}
}
else if(b>a)
{
if(b>c)
{
return b;
}
}
else if (c>a)
{
if(c>b)
{
return c;
}
}
}
void reorder(int min,int med,int max);
// function reorders the 3 reference parameters so that they are in ascending order
//@
//@
int temp;
if(min<med)
{
if(med<max)
{
if(min<max)
{
min=min;
med=med;
max=max;
}
else if(med<min)
{
if (med<max)
{
if (max<)
}
}
}
}
bool isFactor(int num1,int num2);
// function checks if the first int is a factor of the second int.
int main(int argc, char** argv) {
int dividend;
int factor1, factor2, factor3;
cout << "Enter the number to be divided: ";
cin >> dividend;
cout << endl << "Enter the first possible factor: ";
cin >> factor1;
cout << endl << "Enter the second possible factor: ";
cin >> factor2;
cout << endl << "Enter the third possible factor: ";
cin >> factor3;
cout << endl << "Possibilites entered are in the range of " << min3int(factor1,factor2,factor3)
<< " to " << max3int(factor1,factor2,factor3) << "." << endl;
reorder(factor1,factor2,factor3);
cout << endl << "The following numbers were determined to be factors of " << dividend << ": ";
if(isFactor(factor1,dividend))
cout << factor1 << " ";
if(isFactor(factor2, dividend))
cout << factor2 << " ";
if(isFactor(factor3, dividend))
cout << factor3;
cout << endl << endl;
return 0;
}
您如何期望從'void'函數返回'min,med,max;'? – CoryKramer
我意識到,我發佈後,我不想返回那些即時通訊新的cpp,所以這是一個用戶錯誤:P –