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

use*_*692 5 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());
    }

  }
}
}
Run Code Online (Sandbox Code Playgroud)

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

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

这是对的Console.WriteLine("Number"+index[a]+":"+index[i]);吗?

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

Ars*_*nko 2

最后一行是什么Console.WriteLine(index[i]);?看起来您正在循环外使用循环变量。

要显示输入的数字(即,如果我理解得很好的话,数组中的数字),您只需像这样遍历数组:

for (int i = 0; i < index.length; i++)
{
    Console.WriteLine(index[i]);
}
Run Code Online (Sandbox Code Playgroud)

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

// 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.
}
Run Code Online (Sandbox Code Playgroud)

要搜索数字,您可以再次遍历数组并比较每个元素直到找到合适的元素,或者使用 LinqTakeWhile()方法。(我认为您的意图不是使用 Linq,因此我不提供这方面的任何进一步细节。)