面向对象 学生考试计分题目

机试题目:

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 }

 

  

posted @ 2015-03-02 12:47  奔跑的小黄鸡  阅读(297)  评论(0编辑  收藏  举报