C#程序,其中数组索引和元素的大小来自用户输入,然后搜索特定元素

我正在尝试创建一个程序,其中数组索引及其元素的大小来自用户输入.
然后程序将提示用户搜索特定元素并显示它的位置.

我已经想出了一个代码:

using System;

namespace ConsoleApplication1
{

class Program
{

  public static void Main(String [] args)
  {
    int a;
    Console.WriteLine("Enter size of index:");
    a= int.Parse(Console.ReadLine());
    int [] index = new int [a];
    for (int i=0; i<index.Length;i++)
    {
      Console.WriteLine("Enter number:");
      index[i]=int.Parse(Console.ReadLine());
    }

  }
}
}

这个问题是我无法显示输入的数字,我不知道如何搜索数组元素.
我正在考虑使用if语句.

另一件事,在输入元素后,程序应该显示数字0:1

这是正确的:Console.WriteLine(“Number”index [a]“:”index [i]);?

我应该在哪里发表声明?在for循环之后还是在它之内?

最佳答案
什么是最后一行Console.WriteLine(index [i]);?看起来你在循环之外使用循环变量.

要显示输入的数字(例如,如果我理解的话,数组中的数字),你只需要像这样遍历数组:

for (int i = 0; i < index.length; i++)
{
    Console.WriteLine(index[i]);
}

由于您只想在输入每个数字后显示数字,因此您可以在完成用户输入数字的循环后放置此代码:

// The user is entering the numbers (code copied from your question).
for (int i = 0; i < index.Length; i++)
{
    Console.WriteLine("Enter number: ");
    index[i] = int.Parse(Console.ReadLine());
}

// Now display the numbers entered.
for (int i = 0; i < index.length; i++)
{
    Console.WriteLine(index[i]);
}

// Finally, search for the element and display where it is.
int elementToSearchFor;
if (int.TryParse(Console.ReadLine(), out elementToSearchFor))
{
    // TODO: homework to do.
}

要搜索数字,您可以再次遍历数组并比较每个元素,直到找到一个好的,或使用Linq TakeWhile()方法. (我想你的意图不是使用Linq,所以我没有提供任何进一步的细节.)

转载注明原文:C#程序,其中数组索引和元素的大小来自用户输入,然后搜索特定元素 - 代码日志