我需要代码,它从用户那里获取输入,然后将它们加在一起 - 简单。但是我找不到一种方法,在按下0之前接受输入,然后将数字加在一起.. 到目前为止,我认为它需要10个值,但就像我说它需要定制..感谢您的帮助。
int[] myarray = new int[10];
for (int i = 0; i < 10; i++)
{
myarray[i] = Convert.ToInt32(Console.ReadLine());
}
int a = 0;
for (int j = 0; j < 10; j++)
{
a = a + myarray[j];
}
Console.WriteLine(a);
Console.ReadLine();
答案 0 :(得分:6)
以下代码不限于10个输入,您可以根据需要提供任意数量的输入
int sum=0, input;
do
{
input = Convert.ToInt32(Console.ReadLine());
sum += input;
}
while(input != 0);
Console.WriteLine(sum);
Console.ReadLine();
答案 1 :(得分:2)
在添加输入之前检查输入,如果输入为0,则检查break:
int input = Convert.ToInt32(Console.ReadLine());
if(input == 0)
{
break;
}
myarray[i] = input;
答案 2 :(得分:1)
由于您不知道阵列的长度,我建议使用列表。我还添加了一个tryparse来应对狡猾的用户输入。您可以在列表中使用Sum()以避免写出另一个循环。
IList<int> myList = new List<int>();
string userInput = "";
int myInt = 0;
while (userInput != "0")
{
userInput = Console.ReadLine();
if(Int32.TryParse(userInput, out myInt) && myInt > 0)
{
myList.Add(myInt);
}
}
Console.WriteLine(myList.Sum());
Console.ReadLine();
答案 3 :(得分:0)
当你有一个未知大小的数组时,你应该使用一个列表。
var ls = new List<int>();
while(true)
{
var input = Convert.ToInt32(Console.ReadLine());
if(input == 0)
break;
ls.Add(input);
}
答案 4 :(得分:0)
您可以使用以下内容:
while(true)
{
int input = Convert.ToInt32(Console.ReadLine());
if(input == 0)
break;
//do you math here
}