C# 如何编写控制台应用程序来确定给定整数系列中的最大元素

C# 如何编写控制台应用程序来确定给定整数系列中的最大元素,c#,C#,编写一个控制台应用程序,确定给定整数系列中的最大元素。 一个接一个地输入数字,应用程序将一个接一个地读取这些数字,直到用户输入数字0。输入数字0时,应用程序知道字符串中的所有数字都已输入,并显示最大数字 数字0也是字符串的一部分,如果它是用户输入的最大数字,则应用程序将返回0 例如: 输入: 二十四 1. -3 3. -1 0 控制台将显示: 二十四 我的代码是 string[] numbers = new string[10]; for(int i = 0; i <

编写一个控制台应用程序,确定给定整数系列中的最大元素。 一个接一个地输入数字,应用程序将一个接一个地读取这些数字,直到用户输入数字0。输入数字0时,应用程序知道字符串中的所有数字都已输入,并显示最大数字

数字0也是字符串的一部分,如果它是用户输入的最大数字,则应用程序将返回0

例如:

输入:

二十四 1. -3 3. -1 0 控制台将显示:

二十四

我的代码是

 string[] numbers = new string[10];

        for(int i = 0; i < numbers.Length; i++){
            numbers[i] = "0";
        }

        int biggest = 0;

        for (int i = 0; i < numbers.Length; i++)
        {
            numbers[i] = Console.ReadLine();
            if(numbers[i] == "0")
            {
                break;
            }
string[]number=新字符串[10];
for(int i=0;i

我不知道如何继续解决此问题。我启动的方式是否正确?请帮助!

我将使用类型列表而不是字符串数组。以下是我的代码:

List<int> numbers= new List<int>();
int a;
while(Int32.TryParse(Console.ReadLine(), out a))
{
    if (a == 0)
        break;
    else
        numbers.Add(a);
}
Console.WriteLine(numbers.Max());
Console.Read();

我感觉你在这里发布你的家庭作业。虽然这本身很好,但你的问题显示出明显的理解不足。你没有收到可以进行第二次学习的学习材料吗?听起来像是一些家庭作业内容……所以我想你在这里没有代码,但让我们描述一下你选择的方式uld开始。您不知道将获得多少个数字,因此请使用
List numbers=new List()
而不是字符串数组。您可以使用
numbers.add(myNumber)
添加元素。您可以使用
convert.ToInt32
循环将
string
转换为
int
,直到用户输入中断字符-
“0”
在您的案例中。迭代列表并找到最大的数字。打印它。案例结束;)提示:使用
list
而不是array和
而使用
而不是
for
。此外,如果您确定只输入了有效的数字,则使用
int.Parse
,或者如果您不确定,则使用
int.TryParse
。我倾向于同意其他命令ents。听起来很像家庭作业。但这里有一些解决方案的指针。1)实现数组的bobble排序。排序完成后。最大整数将出现在数组的开头或结尾。2)迭代数组中的所有元素,将最大整数存储在结果变量中。3)使用Linq,但这样做会消除此目的学习。我希望这只是家庭作业,而不是工作面试的挑战:是的,这个解决方案是有效的。但是没有错误处理,你使用LINQ
Max
。后者对生产代码很好,但对于学习来说,实现这些方法对于理解你可以做什么、如何做某事以及如何解决f是至关重要的你自己解决未来的问题
string[] numbers = new string[10];
int biggest = 0;
int a = 0;
bool isNumber = true;
for (int i = 0; i < numbers.Length; i++)
{
    numbers[i] = Console.ReadLine();

    isNumber = Int32.TryParse(numbers[i], out a);

    if (i == 0)// in case that the first number is negative
    {
        isNumber = Int32.TryParse(numbers[i], out biggest);
    }

    if (numbers[i] == "0" || !isNumber)
    {
       break;
    }
    else
    {
        if (biggest < a)
            biggest = a;
    }
 }
 Console.WriteLine(biggest);
 Console.Read();