我是C#的新手,正在尝试学习数组的概念。在我的程序中,我想显示数组中所有数字与平均值之间的差异。我只设法在数组中打印出具有差异的1个元素(数字)。
如果尝试运行我的程序,它将分为3部分。最后一部分是我被困住的地方。它只打印数组的last(19th)元素/差异,而不是所有Elements。
欢迎任何提示:)(仅供参考,我尚未学习方法/函数的概念。)
static void Main(string[] args)
{
int[] Elements = new int[20]; // this creates/declares an integer array with 20 Elements
double avg = 0, sum = 0, diff = 0; // declare average variable
for (int i = 0; i < Elements.Length; i++) // this is a loop to show the random numbers of elements
{
int Element = i; // declare the Element variable
Random rn = new Random();
int numbers = rn.Next(0, 200); // creates a number between 0 and 200
Console.WriteLine("Element {0} is {1}", Element, numbers); // print values
sum += numbers; // calculate the sum of numbers
avg = sum / Elements.Length; // calculate average of the sum
if (avg > numbers) // calculate diffrence
{
diff = avg - numbers;
}
else
{
diff = numbers - avg;
}
if (Element == 19)
{
Console.WriteLine("\n");
Console.WriteLine("The average is: {0}", avg);
Console.WriteLine("\n");
for (int z = 0; z < Elements.Length; z++)
{
Console.WriteLine("Diffrence between Element {0} and average is: {1}", Element, Math.Abs(diff));
}
}
}
Console.ReadKey();
}
我确保将数字添加到数组中。
Random实例的创建应在数组之外,否则生成的数字将不是随机的。
调整了最后一个循环。
int[] Elements = new int[20]; // this creates/declares an integer array with 20 Elements
double avg = 0, sum = 0, diff = 0; // declare average variable
Random rn = new Random();
for (int i = 0; i < Elements.Length; i++) // this is a loop to show the random numbers of elements
{
int Element = i; // declare the Element variable
int numbers = rn.Next(0, 200); // creates a number between 0 and 200
Console.WriteLine("Element {0} is {1}", Element, numbers); // print values
Elements[Element] = numbers;
sum += numbers; // calculate the sum of numbers
avg = sum / Elements.Length; // calculate average of the sum
}
Console.WriteLine("\n");
Console.WriteLine("The average is: {0}", avg);
Console.WriteLine("\n");
for (int z = 0; z < Elements.Length; z++)
{
diff = Elements[z] - avg;
Console.WriteLine("Diffrence between Element {0} and average is: {1}", z, Math.Abs(diff));
}
Console.ReadKey();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句