C# 用c语言计算30个随机数的平均值#
我正在尝试制作一个控制台应用程序,生成30个随机数,然后计算这些数的平均值。。。。我真的发现很难计算平均数。。。。如有任何帮助/指导,将不胜感激。谢谢C# 用c语言计算30个随机数的平均值#,c#,C#,我正在尝试制作一个控制台应用程序,生成30个随机数,然后计算这些数的平均值。。。。我真的发现很难计算平均数。。。。如有任何帮助/指导,将不胜感激。谢谢 using System; using System.Linq; class AV{ public static void Main(){ int[] averageGrade= new int[31];//Array to store students int cntr; Syst
using System;
using System.Linq;
class AV{
public static void Main(){
int[] averageGrade= new int[31];//Array to store students
int cntr;
System.Random rnd=new System.Random();
for(cntr=0;cntr<31;cntr++){
averageGrade[cntr]=rnd.Next(0,101);
Console.Write("Student {0}, Grade: {1}",cntr,averageGrade[cntr]);
Console.WriteLine(getLevel(averageGrade[cntr]));
}
}// End of main method
private static string getLevel(int averageGrade) {
double average = averageGrade.Average (t => t);
//calculate average here
}// end of getLevel
}// end of AV class
使用系统;
使用System.Linq;
AV级{
公共静态void Main(){
int[]averageGrade=new int[31];//存储学生的数组
int-cntr;
System.Random rnd=新的System.Random();
对于(cntr=0;cntr t);
//在此计算平均值
}//getLevel结束
}//AV课程结束
您可以尝试以下方法:
double[] array1 = { 1, 2, 3, 5, 0 };
double average1 = array1.Average();
Console.WriteLine(average1);
您需要将数组传递给您的方法
private static string getLevel(int[] averageGrade)
getLevel(averageGrade)
单个数字的平均值就是同一个数字,您使用的方法设计用于处理IEnumerable
,即原始数组
由于您现在正在传入一个数组,因此也不需要从for循环中调用它,这样您就可以在for循环之后将它移到外部。主要问题是:首先-在
getLevel
方法中接受一个数组参数,我将该方法重命名为GetAverage
。第二,你应该移动Console.Write(“学生{0},成绩:{1}”,cntr,平均成绩[cntr])代码>在循环的之外。还有一些小东西:你的数组目前有31个元素
using System;
using System.Linq;
class AV
{
public static void Main()
{
int[] averageGrades = new int[30];//Array to store students
int cntr;
System.Random rnd = new System.Random();
for (cntr = 0; cntr < averageGrades.Length; cntr++)
{
averageGrades[cntr] = rnd.Next(0, 101);
Console.Write("Student {0}, Grade: {1}", cntr, averageGrades[cntr]);
}
Console.WriteLine(GetAverage(averageGrades));
}
private static double GetAverage(int[] averageGrade)
{
return averageGrade.Average(t => t);
}
}
使用系统;
使用System.Linq;
AV级
{
公共静态void Main()
{
int[]averageGrades=new int[30];//存储学生的数组
int-cntr;
System.Random rnd=新的System.Random();
对于(cntr=0;cntrt);
}
}
这样就可以了,但您的任务可能是自己完成,而不是使用现有的库
public double GetAverage()
{
var rnd = new Random();
return Enumerable.Range(0, 30) // Create an array of 30 items
.Select(s => rnd.Next(0, 101)) // Select a random number for each item
.Average(); // Get the average
}
但是你没有提到你当前的实现面临什么问题?你试着问你的教授了吗?注意:别忘了从这个方法返回一些东西,我建议返回实际平均值,而不是字符串,但是任何对你有用的东西:)