三個數求最大數、最小數、中間數
// 獲取中間值
public static int getMidNum(int a, int b, int c)
{
return (a < b ? (b < c ? b : a < c ? c : a) : (b > c ? b : a > c ? c: a));}
// 獲取最大值
public static int getMaxNum(int a, int b, int c)
{
return (a < b ? (b < c ? c : b) : (a < c ? c : a));}
// 獲取最小值
public static int getMinNum(int a, int b, int c)
{
return (a > b ? (b > c ? c : b) : (a > c ? c : a));
}
例子: 編寫主函式,提示使用者通過鍵盤輸入一個3位整數,判斷是否為有效輸入,呼叫一個子函式,取出該整數的各個位數並重新排列,輸出可能的最大整數和最小整數。
// 獲取最大數字
int const& getMaxNum(int const& x, int const& y, int const& z);
// 獲取最小數字
int const& getMinNum(int const& x, int const& y, int const& z);
// 獲取中間數字
int const& getMidNum(int const& x, int const& y, int const& z);
// 數字的新組合
void getNewCombination(int const& num);
// 數字的新組合
void getNewCombination(int const& num)
{
int hBit;// 百位
int tBit;// 十位
int oBit;// 個位
int max = 0,min = 0;
int t = 0;
hBit = num / 100;
tBit = (num/10)%10;
oBit = ((num%100)%10);
max = getMaxNum(hBit, tBit, oBit);
min = getMinNum(hBit, tBit, oBit);
t = getMidNum(hBit,tBit,oBit);
cout<<"The Maximum num is : " << (max*100 + t*10 + min)<<endl;
cout<<"The Minimum num is : " << (min*100 + t*10 + max)<<endl;
}
// 獲得最大的數字
int const& getMaxNum(int const& x, int const& y, int const& z)
{
int temp = (x>y)? x : y;
return temp > z ? temp : z;
}
// 求中間大小的數字
int const& getMidNum(int const& x, int const& y, int const& z)
{
return (x < y ? (y < z ? y : x < z ? z : x) : (y > z ? y : x > z ? z : x));
}
// 獲取最小的數
int const& getMinNum(int const& x, int const& y, int const& z)
{
int temp = (x<y)? x : y;
return temp<z ? temp : z;
}
void main()
{
int num;
do
{
cout<<"請輸入一個三位數 : ";
cin>>num;
if (num < 100 || num > 1000)
{
MessageBox(NULL,"數值範圍為100--999","提示",MB_OK);
}
} while (num < 100 || num > 1000);
getNewCombination(num);
cout<<endl;
}
http://blog.csdn.net/bboyfeiyu/article/details/7382821