我正在尝试创建一个程序,其中数组索引及其元素的大小来自用户输入.然后程序将提示用户搜索特定元素并显示它的位置.
我已经想出了一个代码:
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循环之后还是在它之内?
最后一行是什么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,因此我不提供这方面的任何进一步细节。)