• 15、结构体练习


     具体要求:
    A.从控制台循环录入任意个同学的信息跟成绩(学号,姓名,C语言分数)使用结构体    
    B.在控制台打印本班的总分和平均分,并打印本班最高分、最低分的学生信息
    C.按成绩高低打印本班成绩册并排出名次
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace jiegouti2
    {
        class Program
        {
            struct student
            {
                public string xuehao;
                public string xingming;
                public decimal fenshu;
            }
            static void Main(string[] args)
            {
                Console.WriteLine("欢迎使用学生分数管理系统!");
                Console.WriteLine("请输入学生人数");
                int shu = int.Parse(Console.ReadLine());
                student[] shuzu = new student[shu];
                decimal sum = 0;
                for (int m = 0; m < shu; m++)
                {
                    Console.WriteLine("请输入第{0}个学生的
    学号、姓名、C语言分数", m + 1);
                    string a = Console.ReadLine();
                    string[] b = a.Split(new char[] { '	' });
                    shuzu[m].xuehao = b[0];
                    shuzu[m].xingming = b[1];
                    shuzu[m].fenshu = decimal.Parse(b[2]);
                    sum += shuzu[m].fenshu;
                }
    
                for (int m = 0; m < shu-1; m++)
                {
                    for (int n = m+1; n < shu; n++)
                    {
                        if (shuzu[m].fenshu < shuzu[n].fenshu)
                        {
                            student zhong = new student();
                            zhong = shuzu[n];
                            shuzu[n] = shuzu[m];
                            shuzu[m] = zhong;
                        }
                    }
                }
    
                Console.WriteLine("总分是:{0}", sum);
                Console.WriteLine("平均分是:{0}", sum / shu);
                Console.WriteLine("最高分是学号{0}姓名{1}的{2}分", shuzu[0].xuehao.ToString(), shuzu[0].xingming.ToString(), shuzu[0].fenshu.ToString());
                Console.WriteLine("最低分是学号{0}姓名{1}的{2}分", shuzu[shu - 1].xuehao.ToString(), shuzu[shu - 1].xingming.ToString(), shuzu[shu - 1].fenshu.ToString());
    
                Console.WriteLine("降序排列为:
    名次	学号	姓名	分数");
                for (int m = 0; m < shu; m++)
                {
                    Console.WriteLine((m+1)+"	"+shuzu[m].xuehao + "	" + shuzu[m].xingming + "	" + shuzu[m].fenshu);
                }
                Console.ReadLine();
            }
        }
    }

    效果如下图所示:

  • 相关阅读:
    最长公共子串
    Windows 下GitHub 安装和使用
    JSON 解析
    利用bootsrap控件 实现文件上传功能
    CCF 工资计算
    Java 对象引用以及对象赋值
    Java 关于创建String对象过程的内存分配
    JAVA堆内存和栈内存初步了解
    URAL 1152. False Mirrors (记忆化搜索 状压DP)
    POJ 1113 Wall(Graham求凸包周长)
  • 原文地址:https://www.cnblogs.com/XMH1217423419/p/4306252.html
Copyright © 2020-2023  润新知