c#编程统计一个班同学的成绩,要求每次用键盘输入学生的三门课成绩,输出每个学生的总分和平均分,然后按照总分统计大于260分的人数,按照平均分统计及格(60及以上)和不及格的人数。 求sum=a+2a+3a+4a+...+na的值,a和n的值由键盘输入
时间: 2024-10-25 07:14:38 浏览: 22
在 C# 中,你可以创建一个控制台应用程序来实现这个需求。首先,我们需要定义一个学生类(Student),包含姓名和分数属性,并提供计算总分和平均分的方法。然后,我们可以设计一个循环来获取每位学生的成绩并进行统计。
```csharp
using System;
class Student
{
public string Name { get; set; }
public double[] Scores { get; set; }
public double CalculateTotal()
{
int n = Scores.Length;
double total = 0;
for (int i = 0; i < n; i++)
total += Scores[i];
return total;
}
public double CalculateAverage()
{
if (Scores.Length == 0)
return 0;
return CalculateTotal() / Scores.Length;
}
}
class Program
{
static void Main(string[] args)
{
int numStudents;
Console.Write("请输入学生人数:");
numStudents = Convert.ToInt32(Console.ReadLine());
List<Student> students = new List<Student>();
for (int i = 0; i < numStudents; i++)
{
Console.WriteLine($"请输入第{i + 1}位学生的三门课程成绩(逗号分隔):");
string[] scoreStrings = Console.ReadLine().Split(',');
double[] scores = Array.ConvertAll(scoreStrings, double.Parse);
Student student = new Student
{
Name = $"学生{i + 1}",
Scores = scores
};
students.Add(student);
Console.WriteLine($"{student.Name} 的总分:{student.CalculateTotal()},平均分:{student.CalculateAverage()}");
}
Console.WriteLine("\n统计结果:");
Console.WriteLine($"总分大于260分的学生人数:{(students.Count(s) => s.CalculateTotal() > 260)}");
Console.WriteLine($"平均分60及以上的学生人数:{(students.Count(s) => s.CalculateAverage() >= 60)}");
Console.WriteLine($"平均分不及格(低于60)的学生人数:{(students.Count(s) => s.CalculateAverage() < 60)}");
Console.ReadKey();
}
}
```
在这个程序中,我们首先询问用户输入学生数量,然后通过循环获取每个学生的成绩信息,并存储到 `Student` 对象列表中。最后,根据提供的方法计算总分、平均分,以及满足特定条件的学生人数。
阅读全文