(1)使用控制台程序做界面
(2)一个班10个学生3门课程,3门课程学分相同
(3)成绩录入,显示,每门课最高分、最低分、平均分,总课程平均分,按总课程平均分排序显示学生成绩。
(4)程序一直运行,直到用户选择“退出”为止
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Experimentguanli
{
class Program
{
static int N = 10;
static int F = 3;
static double[] allavg2 = new double[N];
static double[,] score = new double[N, F];
//录入函数
public static void luru()
{
for (int i = 0; i < N; i++)
{
Console.WriteLine("请输入第" + (i + 1) + "个学生的三门成绩");
for (int j = 0; j < F; j++)
{
score[i, j] = double.Parse(Console.ReadLine());
}
}
}
//菜单函数
public static void caidan()
{
Console.WriteLine(" 学生成绩统计 ");
Console.WriteLine("=========================================");
Console.WriteLine(" 1.成绩录入");
Console.WriteLine(" 2.每门课最高分");
Console.WriteLine(" 3.每门课最低分");
Console.WriteLine(" 4.每门课平均分");
Console.WriteLine(" 5.总课程的平均分");
Console.WriteLine(" 6.按总课程平均分排序");
Console.WriteLine(" 7.显示各科成绩");
Console.WriteLine(" 8.退出");
Console.WriteLine("=========================================");
for (int m = 0; ; m++)
{
Console.WriteLine("请输入你要执行的项目序号:");
int k = int.Parse(Console.ReadLine());
if (k == 8) { break; }
else
{
switch (k)
{
case 1: Program.luru(); break;
case 2:
Console.Clear();
Program.max(); break;
case 3:
Console.Clear();
Program.min(); break;
case 4:
Console.Clear();
Program.avg(); break;
case 5:
Console.Clear();
Program.allavg(); break;
case 6:
Console.Clear();
Program.allavgpaixu(); break;
case 7:
Console.Clear();
Program.xianshi(); break;
}
}
Console.WriteLine(" 学生成绩统计 ");
Console.WriteLine("=========================================");
Console.WriteLine(" 1.成绩录入");
Console.WriteLine(" 2.每门课最高分");
Console.WriteLine(" 3.每门课最低分");
Console.WriteLine(" 4.每门课平均分");
Console.WriteLine(" 5.总课程的平均分");
Console.WriteLine(" 6.按总课程平均分排序");
Console.WriteLine(" 7.显示各科成绩");
Console.WriteLine(" 8.退出");
Console.WriteLine("=========================================");
}
}
//每门课的最高分
public static void max()
{
for (int j = 0; j < F; j++)
{
int max = 0;
for (int k = 0; k < N - 1; k++)
{
if (score[max, j] < score[k + 1, j])
{
max = k + 1;
}
}
Console.WriteLine("课程" + (j + 1) + "的最高分为" + score[max, j]);
}
}
//每门课的最低分
public static void min()
{
for (int j = 0; j < F; j++)
{
int min = 0;
for (int k = 0; k < N - 1; k++)
{
if (score[min, j] > score[k + 1, j])
{
min = k + 1;
}
}
Console.WriteLine("课程" + (j + 1) + "的最高分为" + score[min, j]);
}
}
//每门课的平均分
public static void avg()
{
double sum = 0, avg;
for (int j = 0; j < F; j++)
{
for (int k = 0; k < N; k++)
{ sum = sum + score[k, j]; }
avg = sum / 10;
sum = 0;
Console.WriteLine("课程" + (j + 1) + "的平均分为" + avg);
}
}
//总课程的平均分
public static void allavg()
{
double sum = 0;
for (int j = 0; j < N; j++)
{
for (int k = 0; k < F; k++)
{ sum = sum + score[j,k]; }
allavg2[j] = sum/3;
sum = 0;
}
for (int k = 0; k < 10; k++)
{
Console.WriteLine("学号为 " + (k + 1) + "的平均成绩为" + allavg2[k]);
}
}
//按总课程平均分排序
public static void allavgpaixu()
{
for (int j = 0; j < 9; j++)
{
for (int k = 0; k < 9 - j; k++)
{
if (allavg2[k] < allavg2[k + 1])
{
double temp;
temp = allavg2[k];
allavg2[k] = allavg2[k + 1];
allavg2[k + 1] = temp;
}
}
} Console.WriteLine("对平均成绩排序为");
for (int j = 0; j < 10; j++)
{
Console.WriteLine(allavg2[j]);
}
}
//显示各科成绩
public static void xianshi()
{
Console.WriteLine("学号 课程1 课程2 课程3");
for (int j = 0; j < 10; j++)
{
Console.WriteLine(j + " " + score[j, 0] + " "
+ score[j, 1] + " " + score[j, 2]);
}
}
static void Main(string[] args)
{
Program.caidan();
}
}
}