学生信息录入
机试题目:1.输入3个学生的信息:学号,姓名,五门课成绩(语文,数学,英语,化学,物理),要求输出学生成绩的最高分最低分总分和平均分,若有不及格的成绩,输出其科目及成绩。 2.编写程序实现某大奖赛现场打分。共有10位评委打分,最高分为100分,去掉一个最高分和一个最低分后的平均分是最终得分。请用户输入评委姓名和该评委给出的分数,然后提示哪个评委的分数最高,最高分是多少;哪个评委的分数最低,最低分是多少;最后去掉最高分和最低分计算最终平均得分。3.按如下要求编程: 一、语言和环境A、实现技术:C#B、环境要求:MicrosoftVisual Studio 2012 。二、要求:具体要求:A.从控制台循环录入10个同学的信息跟成绩(学号,姓名,C语言分数)使用结构体。
B.在控制台打印本班的总分和平均分,并打印本班最高分、最低分的学生信息
C.按成绩高低打印本班成绩册并排出名次
代码:
namespace www
{
class Program
{
struct student
{
public string code;
public string name;
public decimal degree;
}
static void Main(string[] args)
{
Console.Write("请输入人数:");
int n = int.Parse(Console.ReadLine().ToString());
decimal sumfen = 0, avg = 0, max = 0, min = 0;
student[]sumstu=new student[n];
//根据所输入人数进行循环录入
for (int i = 0; i < n; i++)
{
Console.WriteLine("请输入第"+(i+1)+"个学生的信息");
Console.WriteLine("学号 姓名 c语言分数,以tab键分隔");
string s = Console.ReadLine();
string[] sarr = s.Split(new char[]{'\t'});//使用split按照分隔符进行分隔
sumstu[i].code=sarr[0];
sumstu[i].name=sarr[1];
sumstu[i].degree=decimal.Parse(sarr[2]);
sumfen += sumstu[i].degree;
}
Console.WriteLine("*****************************************************");
Console.WriteLine("总分:"+sumfen.ToString());
avg = sumfen / n;
Console.WriteLine("平均分:"+avg.ToString());
//冒泡排序
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (sumstu[i].degree < sumstu[j].degree)
{
student zhong = new student();
zhong =sumstu[i];
sumstu[i] = sumstu[j];
sumstu[j] = zhong;
}
}
}
Console.WriteLine("最高分:"+sumstu[0].degree.ToString());
Console.WriteLine("最低分:"+sumstu[n-1].degree.ToString());
Console.WriteLine("本班成绩列表如下:");
Console.WriteLine("*************************************************");
Console.WriteLine("名次"+"\t"+"学号"+"\t"+"姓名"+"\t"+"成绩");
for (int i = 1; i <= n; i++)
{
Console.WriteLine(i+"\t"+sumstu[i-1].code+"\t"+sumstu[i-1].name+"\t"+sumstu[i-1].degree);
}
Console.ReadLine();
}
}
}