繁体   English   中英

C#找到最大的数字

[英]C# find biggest number

这是我第一次使用c#所以我对它不是很熟悉。 如果我让用户输入3个数字,我想创建一个简单的程序来找到最大的数字。 我只需要知道在代码中放什么,因为我不太确定。

使用Math.Max

int x = 3, y = 4, z = 5;
Console.WriteLine(Math.Max(Math.Max(x, y), z));

有Linq Max()扩展方法。 它适用于所有常见数字类型(int,double,...)。 并且因为它适用于任何实现IEnumerable<T>类,它适用于所有常见容器,例如数组T[]List<T> ,...

要使用它,您需要在C#文件的开头using System.Linq ,并且需要引用System.Core程序集。 两者都默认在新项目上完成(C#3或更高版本)

int[] numbers=new int[]{1,3,2};
int maximumNumber=numbers.Max();

您也可以使用仅适用于两个数字的Math.Max(a,b) 或者自己写一个方法。 这也不难。

您可以使用Math.Max方法返回最多两个数字,例如int

int maximum = Math.Max(number1, Math.Max(number2, number3))

LINQ中还有Max()方法,您可以在任何IEnumerable上使用它。

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        int[] numbers = { 3, 9, 5 };
        int biggestNumber = numbers.Max();
        Console.WriteLine(biggestNumber);
        Console.ReadLine();
    }
}

我需要找到一种方法来做到这一点,使用来自不同地方而不是集合中的数字。 我确信在c#中有一种方法可以做到这一点...虽然看起来很混乱我的语言......

无论如何,我最终写了几个通用方法来做到这一点......

    static T Max<T>(params T[] numberItems)
    {
        return numberItems.Max();
    }

    static T Min<T>(params T[] numberItems)
    {
        return numberItems.Min();
    }

......这样叫他们......

    int intTest = Max(1, 2, 3, 4);
    float floatTest = Min(0f, 255.3f, 12f, -1.2f);

如果你的数字是a,b和c那么:

    int a = 1;
    int b = 2;
    int c = 3;

    int d =  a > b ? a : b;
    return c > d ? c : d;

这可能会成为“我们可以做多少种不同的方式”类型问题之一!

以下是查找Biggest / Largest Number的简单逻辑

输入:11,33,1111,4,0​​输出:1111

namespace PurushLogics
{
    class Purush_BiggestNumber
    {
        static void Main()
        {
            int count = 0;
            Console.WriteLine("Enter Total Number of Integers\n");
            count = int.Parse(Console.ReadLine());

            int[] numbers = new int[count];

            Console.WriteLine("Enter the numbers"); // Input 44, 55, 111, 2 Output = "111"
            for (int temp = 0; temp < count; temp++)
            {
                numbers[temp] = int.Parse(Console.ReadLine());
            }

            int largest = numbers[0];
            for (int big = 1; big < numbers.Length; big++)
            {
                if (largest < numbers[big])
                {
                    largest = numbers[big];
                }
            }
            Console.WriteLine(largest);
            Console.ReadKey();
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM