2012-09-23 82 views
0

可能重複:
C# find biggest numberMath.Max方法C#對象

確定從用戶輸入的最大和最小的數字。

Console.WriteLine ("For the Numbers " + (firstNo) + "," + (secondNo) + "," + (thirdNo)); 
Console.WriteLine("Largest is ") ; 
Console.WriteLine("Smallest is "); 

我有困難在這種情況下使用Math.Max方法。

+0

嗯......那麼,究竟是什麼問題?你是否得到錯誤或什麼? –

+1

你能更具體地瞭解什麼不清楚嗎? Math.Max(firstNo,Math.Max(secondNo,thirdNo))不適合你嗎? – zeebonk

回答

4

另一種方法是使用Linq MaxMin方法獲取:

var list = new[] {firstNo, secondNo, thirdNo }; 
var max = list.Max(); 
var min = list.Min(); 

或簡稱:

var max = (new[] {firstNo, secondNo, thirdNo}).Max(); 
var min = (new[] {firstNo, secondNo, thirdNo}).Min(); 
+3

儘管它不使用提到的Math.Max方法,但我認爲這是最好的解決方案。 – zeebonk

3

你可以得到前兩個數的最大值,然後檢查對第三個值的值:

var max = Math.Max(Math.Max(firstNo, secondNo), thirdNo)); 

Sa我可以申請最低價值。

+1

+1因爲它有一個作業標籤 – S3ddi9

+0

Thankyou,完美。 –

1

Math.Max只比較兩個數字。如果要對數字列表進行排序,請將它們放入列表中並使用OrderByOrderByDescending。例如:

List<int> numbers = new List<int>(); 
    numbers.Add(1); 
    numbers.Add(5); 
    numbers.Add(7); 
    numbers.Add(13); 
    numbers.Add(4); 
    // And so on 
    Console.Write("Numbers in increasing order: "); 
    foreach (int number in numbers.OrderBy(x => x)) 
    { 
     Console.Write(number + " "); 
    } 
    Console.WriteLine(); 

結果是Numbers in increasing order: 1 4 5 7 13