利用for循环,录入五门功课成绩求出平均值(c#)

这是c#的问题 不要用java

软糖来回答吧。

代码

class Program {
        public class 学生 {
            public decimal 语文成绩;
            public decimal 数学成绩;
            public decimal 英语成绩;
            public decimal 历史成绩;
            public decimal 地理成绩;
            public decimal 平均成绩 { get {
                    return (语文成绩 + 数学成绩 + 英语成绩 + 历史成绩 + 地理成绩) / 5;
                }
            }
        }
        static void Main(string[] args) {
            Console.WriteLine("// 输入 x 退出本程序");
            //请用户输入人数,循环直到正确输入
            int 输入的人数 = -1;
            while (输入的人数 < 0) {
                Console.BackgroundColor = ConsoleColor.DarkYellow;
                Console.Write("请输入班级人数:  ");
                Console.BackgroundColor = ConsoleColor.Black;
                string 输入内容 = Console.ReadLine();
                if (输入内容.Trim(' ').ToLower() == "x") { Environment.Exit(0); }
                if (输入内容.Trim(' ').ToLower() == "") { continue; }
                输入的人数 = 判断人数是否合法(输入内容);
            }
            int 班级人数 = 输入的人数;
            //创建学生数组,并循环输入每个学生的各科成绩
            学生[] 学生 = new 学生[班级人数];
            for (int i = 0; i < 班级人数; i++) {
                Console.BackgroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine("【开始输入 第 {0} 号学生的 各科成绩】", i + 1);
                Console.BackgroundColor = ConsoleColor.Black;
                学生[i] = new 学生();
                学生[i].语文成绩 = 输入并获取成绩(i + 1, "语文");
                学生[i].数学成绩 = 输入并获取成绩(i + 1, "数学");
                学生[i].英语成绩 = 输入并获取成绩(i + 1, "英语");
                学生[i].历史成绩 = 输入并获取成绩(i + 1, "历史");
                学生[i].地理成绩 = 输入并获取成绩(i + 1, "地理");
            }
            //输入完毕提示
            Console.BackgroundColor = ConsoleColor.DarkYellow;
            Console.WriteLine("班级 {0} 人的各科成绩录入完毕!  ", 班级人数);
            Console.BackgroundColor = ConsoleColor.Black;
            //输出平均成绩
            for (int i = 0; i < 班级人数; i++) {
                Console.BackgroundColor = ConsoleColor.DarkMagenta;
                Console.WriteLine("第 {0} 号学生的 平均成绩为: {1}", i + 1, 学生[i].平均成绩);
                Console.BackgroundColor = ConsoleColor.Black;               
            }           
            //等待按任意键退出
            Console.BackgroundColor = ConsoleColor.DarkCyan;
            Console.Write("按任意键退出...");
            Console.ReadKey();
        }
        static decimal 输入并获取成绩(int 学号, string 学科名称) {
            bool 正确的输入 = false;
            decimal 获取成绩 = 0;
            while (!正确的输入) {
                Console.Write("请输入第 {0} 号学生的{1}成绩:", 学号, 学科名称);
                string 输入内容 = Console.ReadLine();
                if (输入内容.Trim(' ').ToLower() == "x") { Environment.Exit(0); }
                if (输入内容.Trim(' ').ToLower() == "") { continue; }
                正确的输入 = 判断成绩是否合法(输入内容, out 获取成绩);
            }
            Console.WriteLine("录入 {0} 号{1}成绩 {2} 分。", 学号, 学科名称, 获取成绩);
            return 获取成绩;
        }
        static int 判断人数是否合法(string 输入内容) {
            int 返回值;
            bool 是数字 = int.TryParse(输入内容, out 返回值);
            if (是数字 == false)                 //转换数字失败就再次请求输入正确值。
            { Console.WriteLine("报告老师,这个小伢输个数字都输错!!!!"); return -1; } else if (返回值 <= 0) { Console.WriteLine("人数为零或负数!都是鬼吗!"); return -1; } else if (返回值 > 200) { Console.WriteLine("人数超过了200!?这是班级还是年级???"); return -1; }
            return 返回值;
        }
        static bool 判断成绩是否合法(string 输入内容, out decimal 数值) {
            bool 是数字 = decimal.TryParse(输入内容, out 数值);
            if (是数字 == false)                 //转换数字失败就再次请求输入正确值。
            {
                Console.WriteLine("报告老师,这个小伢输个数字都输错!!!!");
                return false;
            }
            else if (数值 < 0) {
                Console.WriteLine("叫你好好学习!居然连负分数都出来了!");
                return false;
            }
            else if (数值 > 150) {
                Console.WriteLine("你这是神马奇葩试卷,分数超过了150!?");
                return false;
            }
            return true;
        }
    }

追问

兄弟 你玩我 哈哈

追答

我这代码就是C#的啊

温馨提示:内容为网友见解,仅供参考
无其他回答

利用for循环,录入五门功课成绩求出平均值(c#)
public decimal 平均成绩 { get { return (语文成绩 + 数学成绩 + 英语成绩 + 历史成绩 + 地理成绩) \/ 5; } } } static void Main(string[] args) { Console.WriteLine("\/\/ 输入 x 退出本程序"); \/\/请用户输入人数,循环直到正确输入 int 输入的人数 = -1; ...

c#从键盘输入5个学生的数学成绩,把这些成绩保存在数组中,求出平均...
class Program { static void Main(string[] args) { \/\/变量 string strValue; \/\/保存分数的数组,长度为5 int[] point = new int[5]; \/\/循环,开始录入学生成绩 for (int i = 0; i < point.Length; i++) { strValue = Input("请输入第{0}位学...

...从键盘输入5个值,并打印求和、平均数、最小值和最大值。
Console.WriteLine("最小值为:{0}", min);Console.WriteLine("最大值为:{0}", max);Console.ReadKey();} } }

c#作业循环录入5个人的年龄并计算平均年龄,如果录入的数据出现负数或大...
} console.writeline("平均值="+(sum\/5));

C# 5个整数,求它们的平均值以及比平均值大的数的值,并把结果输出?
方法来计算这 5 个整数的平均值,并将结果赋给变量 average。接下来,我们使用 foreach 循环遍历数组中的每个元素,如果该元素大于计算得到的平均值,则输出该元素的值。最后,我们通过调用 Console.WriteLine 来输出平均值以及比平均值大的数的值。希望对你有所帮助!如有其他问题,请随时提问。

编写一个程序,利用for循环语句,不用数组,输入5个实数,把它们中的最大...
static void Main(string[] args) { double minNumber=0.0; \/\/ 保存最小值 double maxNumber=0.0; \/\/ 保存最大值 double tempNumber;\/\/ 临时保存输入的值 for (int i = 0; i < 5; i++) { try{ \/\/ 防止输入非法值 tempNumber = Convert.ToDouble(Console....

用C#语言求若干个学生的输出最高成绩,最低成绩,以及平均成绩
\/\/输入学生成绩 for (int i = 0; i < score.Length; i++){ Console.Write(string.Format("请输入第{0}个学生成绩:",(i + 1)));score[i] = Double.Parse(Console.ReadLine());\/\/求所有学生的成绩 sum += score[i];} \/\/求所有学生成绩的平均值 avg = sum \/ num;\/\/对学生成绩...

c语言从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值?
首先,我们需要定义一个变量i,用于循环计数。同时,我们需要定义三个浮点型变量:score表示每个学生的成绩,sum表示所有学生成绩的总和,avg表示所有学生成绩的平均值。这里我们将sum初始化为0。接着,我们使用for循环,循环10次,每次从键盘输入一个学生的成绩,并将其加入到sum中。在每次循环中,我们使用...

请用C语言编写,输入十几个离散数字,求出平均值及平均极差(极差就是第一...
28.41 23.31 20.37 18.04 25.23 10.52 18.45 36.23 35.64 10.64 极差数据:5.10 2.94 2.33 -7.19 14.71 -7.93 -17.78 0.59 25.00 低于UCL:10.52 10.64 高于UCL:36.23 35.64 低于LCLR:-7.19 -7.93 -17.78 高于UCLR:14.71 25...

C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平_百...
int i;float a[10],min,max,avg;\/\/max表示最高分,min表示最低分,avg表示平均分 printf("请输入10位学生的分数\\n");printf("***\\n");for(i=0;i<=9;i++){ printf("请输入一位学生的分数:");scanf("%f",&a[i]);} max=min=avg=a[0];for(i=1;i<=9;i++){ if(min>...

相似回答