我今早做的一到编程题

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/* 这个是书上第二章的本章作业课后编码题。
 * Program.cs
 * time:2015/1/16 完全成功,而且对控制台输出的调整让输入输出有条不紊,简明扼要。
 */
namespace Scores //项目名
{
    /* 测试类,入口类
     * 
     */
    class Program 
    {
        static void Main(string[] args)
        {
            //声明并实例化Student 对象 stus
            Student[] stus = new Student[5];
            for (int i = 0; i < stus.Length; i++) //i 代表数组下标,for循环遍历数组
            {
                stus[i] = new Student();
            }

            //挨个调用数组stus的成员方法,实现操作
            for (int i = 0; i < stus.Length; i++)
            {
                Console.WriteLine("***********************************");
                stus[i].Initial(); //得到姓名
                stus[i].SaveScores(); //接收,保存成绩
                Console.WriteLine("***********************************");
                stus[i].CalcScores(); //计算成绩
            }

            //挨个输出每个学生的成绩
            Console.WriteLine("***********************************");
            foreach (Student Item in stus)
            {
                Item.OutputScores();
            }
            Console.WriteLine("***********************************");

            //排序,求出最高的分数。和5名学生的总成绩的平均成绩。
            double bigest; //5个人里的最高分数
            bigest = stus[0].all;
            for (int i = 1; i < stus.Length; i++) //遍历数组 stus 从1开始的位置
            {
                if(bigest < stus[i].all) //先假定 stus[0].all 是最高分数,当发现更高的分数时,给 bigest 赋值
                {
                    bigest = stus[i].all;
                }
            }//循环过后,bigest 里是5个人里最高的成绩
            //平均分
            double main_avg = bigest / 5;

            Console.WriteLine("***********************************");
            Console.WriteLine("5名学生的最高成绩:{0},平均成绩是:{1}",bigest,main_avg);
            Console.WriteLine("***********************************");
        }
    }

    /* 自定义 Student 类
     * 
     */
    public class Student
    {
        /* 成员变量
         * 在这里,默认访问权限是受保护的
         */
        public string name; //学生姓名

        public double JAVA; //java分数 
        public double SQL;  //SQL分数
        public double STB;  //STB分数

        public double all; //总成绩
        public double avg; //平均成绩

        /* 成员函数
         * 
         */

        /* 初始化函数
         * 用于初始化学员对象,即:接收对三个分数变量的输入
         * 
         */
        public void Initial()
        {
            Console.Write("输入此学生的姓名:");
            name = Console.ReadLine();
        }

        /* 构造函数
         * 
         */
        public Student()
        {
            //目前只是产生对象,没有其它功能。
        }

        /* 用于接收,保存学员成绩
         * 
         */
        public void SaveScores()
        {
            Console.Write("输入JAVA的考试成绩:");
            JAVA = double.Parse(Console.ReadLine());
            Console.Write("输入SQL的考试成绩:");
            SQL = double.Parse(Console.ReadLine());
            Console.Write("输入STB的考试成绩:");
            STB = double.Parse(Console.ReadLine());
        }

        /* 计算学员总成绩和平均成绩
         *  
         */
        public void CalcScores()
        {
            //总成绩
            all = JAVA + SQL + STB;
            //平均成绩
            avg = all / 3;
        }

        /* 输出学员分数
         * 
         */
        public void OutputScores()
        {
            //output null
            Console.WriteLine();
            Console.WriteLine("{0} 的三门成绩是:JAVA:{1},SQL:{2},STB:{3}",this.name,this.JAVA,this.SQL,this.STB);
        }

    }

}

实现:接收一个班级五名同学的姓名和三门课程的考试成绩,计算每个学生三门课程的总成绩,平均成绩,并输出学员姓名,三门课程的考试成绩,总成绩和平均成绩,以及班级参加考试人数,三门课程总和的最高分和平均分。并输出5人中的最高分和这5人的总分的平均分。


code 如上:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值