C# 如何从用户输入中找到多维数组中的数字平均值?
这是我第一次尝试创建多维数组。我让用户输入一个班级的学生人数(行),然后让他们输入要输入的分数(列)。我现在想把每个学生的所有分数相加,找出他们的平均成绩。我想不出如何区分每个学生的数据信息。以下是我到目前为止的情况:C# 如何从用户输入中找到多维数组中的数字平均值?,c#,C#,这是我第一次尝试创建多维数组。我让用户输入一个班级的学生人数(行),然后让他们输入要输入的分数(列)。我现在想把每个学生的所有分数相加,找出他们的平均成绩。我想不出如何区分每个学生的数据信息。以下是我到目前为止的情况: public static void Main(string[] args) { int TotalStudents = 0; int TotalGrades = 0; int sum = 0; C
public static void Main(string[] args)
{
int TotalStudents = 0;
int TotalGrades = 0;
int sum = 0;
Console.WriteLine("Enter the number of students: ");
TotalStudents = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the number of grades: ");
TotalGrades = Convert.ToInt32(Console.ReadLine());
int[,] scoresArray = new int[TotalStudents, TotalGrades];
for (int i = 0; i < TotalStudents; i++)
for (int j = 0; j < TotalGrades; j++)
{
Console.Write("Please enter score {0} for student {1}:", j + 1, i + 1);
scoresArray[i, j] = Convert.ToInt32(Console.ReadLine());
sum = sum + Convert.ToInt32(scoresArray[i,j]);
}
double gradePercent = sum / (TotalGrades * 100);
double gradePer100 = gradePercent * 100;
string gradeLetter = "";
if (gradePer100 >= 90)
{
gradeLetter = "A";
}
else if (gradePer100 >= 80 && gradePer100 < 90)
{
gradeLetter = "B";
}
else if (gradePer100 >= 70 && gradePer100 < 80)
{
gradeLetter = "C";
}
else if (gradePer100 >= 60 && gradePer100 < 70)
{
gradeLetter = "D";
}
else
{
gradeLetter = "F";
}
Console.WriteLine("\nStudent average score is: " + gradePer100);
Console.WriteLine("\nStudent will recieve a " + gradeLetter + " in the class.");
Console.Write("\nPress the [ENTER] key to exit.");
Console.ReadLine();
}
publicstaticvoidmain(字符串[]args)
{
学生总数=0;
int TotalGrades=0;
整数和=0;
Console.WriteLine(“输入学生人数:”);
TotalStudents=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“输入等级数:”);
TotalGrades=Convert.ToInt32(Console.ReadLine());
int[,]scoresArray=新int[TotalStudents,TotalGrades];
对于(int i=0;i=90)
{
gradeLetter=“A”;
}
否则,如果(爬坡率100>=80和爬坡率100<90)
{
gradeLetter=“B”;
}
否则,如果(每100个等级>=70和每100个等级<80)
{
gradeLetter=“C”;
}
否则,如果(每100个等级>=60和每100个等级<70)
{
gradeLetter=“D”;
}
其他的
{
gradeLetter=“F”;
}
Console.WriteLine(\n学生平均分为:“+gradePer100”);
Console.WriteLine(“\n学生将在类中收到一个“+gradeLetter+”);
控制台。写入(“\n按[ENTER]键退出”);
Console.ReadLine();
}
您可以创建如下二维数组:
var array = new int[TotalStudents, TotalGrades];
然后填写:
for(int i = 0; i < TotalStudents; i++)
for(int j = 0; j < TotalGrades; j++)
{
Console.Write("Please enter score {0} for student {1}", j + 1, i + 1);
array[i, j] = Convert.ToInt32(Console.ReadLine());
}
for(int i=0;i
如果分数是
double
s,只需将new int[TotalStudents,TotalGrades]
更改为new double[TotalStudents,TotalGrades]
和Convert.ToInt32(Console.ReadLine())
欢迎使用堆栈溢出!你可以选择第一个,学习一个好问题,然后创造一个新的答案。我们会更容易帮助你。