面向对象 学生考试计分题目
机试题目:
1.输入3个学生的信息:学号,姓名,五门课成绩(语文,数学,英语,化学,物理),要求输出学生成绩的最高分最低分总分和平均分,若有不及格的成绩,输出其科目及成绩。
2.编写程序实现某大奖赛现场打分。共有10位评委打分,最高分为100分,去掉一个最高分和一个最低分后的平均分是最终得分。请用户输入评委姓名和该评委给出的分数,然后提示哪个评委的分数最高,最高分是多少;哪个评委的分数最低,最低分是多少;最后去掉最高分和最低分计算最终平均得分。
3.按如下要求编程:
一、语言和环境A、实现技术: C#B、环境要求: MicrosoftVisual Studio 2012
二、要求:具体要求:A.从控制台循环录入10个同学的信息跟成绩(学号,姓名,C语言分数)使用结构体
B.在控制台打印本班的总分和平均分,并打印本班最高分、最低分的学生信息
C.按成绩高低打印本班成绩册并排出名次
三、考试要求及评分标准: 1、要求使用结构体,自定义函数,数组来完成本题。2、本次考试的结果没有具体分数,只有以下几个等级:不及格,及格,优秀3、未完成A的记为不及格。4、正确完成具体要求中的(A)(B)为及格,完成全部要求为优秀
代码:
1 namespace www 2 { 3 class Program 4 { 5 struct student 6 { 7 public string code; 8 public string name; 9 public decimal degree; 10 } 11 static void Main(string[] args) 12 { 13 Console.Write("请输入人数:"); 14 int n = int.Parse(Console.ReadLine().ToString()); 15 16 decimal sumfen = 0, avg = 0, max = 0, min = 0; 17 student[]sumstu=new student[n]; 18 //根据所输入人数进行循环录入 19 for (int i = 0; i < n; i++) 20 { 21 Console.WriteLine("请输入第"+(i+1)+"个学生的信息"); 22 Console.WriteLine("学号 姓名 c语言分数,以tab键分隔"); 23 string s = Console.ReadLine(); 24 string[] sarr = s.Split(new char[]{'\t'});//使用split按照分隔符进行分隔 25 26 sumstu[i].code=sarr[0]; 27 sumstu[i].name=sarr[1]; 28 sumstu[i].degree=decimal.Parse(sarr[2]); 29 30 sumfen += sumstu[i].degree; 31 32 } 33 Console.WriteLine("*****************************************************"); 34 Console.WriteLine("总分:"+sumfen.ToString()); 35 avg = sumfen / n; 36 Console.WriteLine("平均分:"+avg.ToString()); 37 38 //冒泡排序 39 for (int i = 0; i < n - 1; i++) 40 { 41 for (int j = i + 1; j < n; j++) 42 { 43 if (sumstu[i].degree < sumstu[j].degree) 44 { 45 student zhong = new student(); 46 zhong =sumstu[i]; 47 sumstu[i] = sumstu[j]; 48 sumstu[j] = zhong; 49 } 50 } 51 } 52 Console.WriteLine("最高分:"+sumstu[0].degree.ToString()); 53 Console.WriteLine("最低分:"+sumstu[n-1].degree.ToString()); 54 55 Console.WriteLine("本班成绩列表如下:"); 56 Console.WriteLine("*************************************************"); 57 Console.WriteLine("名次"+"\t"+"学号"+"\t"+"姓名"+"\t"+"成绩"); 58 for (int i = 1; i <= n; i++) 59 { 60 Console.WriteLine(i+"\t"+sumstu[i-1].code+"\t"+sumstu[i-1].name+"\t"+sumstu[i-1].degree); 61 } 62 Console.ReadLine(); 63 } 64 } 65 }