class Program
{
static void Main(string[] args)
{
Console.WriteLine("How much values will you give to me?");
int count = Convert.ToInt16(Console.ReadLine());
double[] list = new double[count];
int x = 0;
do
{
list[x] = Convert.ToDouble(Console.ReadLine());
x++;
} while (x < count);
}
}
在此代码中,我必须询问用户他们会给我多少价值?&#39;。但我想要的是,用户不必为程序指定值。它应该自动发生。我的意思是用户一旦启动程序就会开始给出数字。程序将在用户输入&#39; start&#39;而不是一个值。
我不知道我是否成功解释了我的问题。
答案 0 :(得分:0)
如何做到这一点的一个例子是:
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
bool read = true;
List<int> list = new List<int>();
do{
string input = Console.ReadLine();
int x = 0;
if(input == "start")
{
read = false;
}
else if(int.TryParse(input, out x))
{
list.Add(x);
}
else
{
Console.WriteLine("Invalid Input");
}
} while(read);
foreach(var z in list)
{
Console.WriteLine(z);
}
}
}
您必须根据需要进行调整,但这是您可以处理的方式。
请注意List<>
它正在动态增长和缩小。这样您就不必指定要添加的数字量。这样你就可以随意添加,直到你给出Start
命令。
答案 1 :(得分:0)
using System;
using System.Collections.Generic;
namespace Average
{
class Program
{
static void Main(string[] args)
{
Calculator calc = new Calculator();
bool read = true;
List<int> list = new List<int>();
do
{
string input = Console.ReadLine();
int x = 0;
if (input == "start")
{
read = false;
}
else if (int.TryParse(input, out x))
{
list.Add(x);
}
else
{
Console.WriteLine("Invalid Input");
}
} while (read);
Console.WriteLine(calc.Average(list));
Console.ReadKey();
}
}
class Calculator
{
public double Average(List<int> list)
{
double value = 0;
foreach(var z in list)
{
value = value + z;
}
return value / (list.Count);
}
}
}
谢谢,好评。为了帮助我。