精华内容
下载资源
问答
  • 学生成绩管理C++。按照各单科成绩排序总分排序
  • 录入5名学生成绩总分排序

    千次阅读 2016-04-10 22:23:00
    import java.io.FileWriter; import java.io.IOException; import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet;public class Test12 { /**录入5名学生成绩总分排序
    package com.heima.test;
    
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Comparator;
    import java.util.Scanner;
    import java.util.TreeSet;
    
    public class Test12 {
    
        /**录入5名学生成绩  按总分排序
         * @param args
         * @throws IOException 
         */
        public static void main(String[] args) throws IOException {
            FileWriter file = new FileWriter("stu.txt");
            TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
    
                @Override
                public int compare(Student o1, Student o2) {
                    int num = o2.getSum() - o1.getSum();
                    return num == 0? 1: num;
                }
            });
    
            Scanner sc = new Scanner(System.in);
            System.out.println("输入5个学生的成绩(格式:名字,语文,数学,英语): ");
            while(ts.size() < 5){
                try{
                    String line = sc.nextLine();
                    String arr[] = line.split(",");
                    int chinese = Integer.parseInt(arr[1]);
                    int math = Integer.parseInt(arr[2]);
                    int english = Integer.parseInt(arr[3]);
                    ts.add(new Student(arr[0],chinese,math,english));
                }catch (Exception e) {
                    // TODO: handle exception
                    System.out.println("输入格式有误!请重输:");
                }
            }
            System.out.println(ts);
            for (Student student : ts) {
                file.write(student.toString() + "\n");
            }
            file.close();
        }
    
    }
    
    展开全文
  • 生成一张成绩单,并按照总分的大小顺序排序 分析:根据题目的需求,我们可以将题目拆解成以下步骤: 第一步:获取学生的姓名 第二步:生成学生的三科成绩 第三步:生成排名 第四步:组合存储结构 第五步:输出 1. 生成一...

    生成一张成绩单,并按照总分的大小顺序排序

    分析:根据题目的需求,我们可以将题目拆解成以下步骤:
    第一步:获取学生的姓名
    第二步:生成学生的三科成绩
    第三步:生成排名
    第四步:组合存储结构
    第五步:输出

    1. 生成一个姓名字典
    dict_student_info = {95001:"李一",95002:"赵二",95003:"胡三",95004:"钱四",95005:"王五",95006:"严六",95007:"陈七",95008:"白八",95009:"许九",95010:"孙十"}
    
    2. 生成学生的成绩
    # 将生成的成绩存贮在列表中
    student_result = []
    # 控制生成的成绩的行数
    for i in range(len(dict_student_info)):
    	# 临时保存每一个学生的成绩,并初始化临时变量
        temp_result = []
        # 控制生成的成绩门数
        for j in range(3):
            temp_result.append(random.randint(50,100))
        # 将每一名学生的成绩添加到最终的集合中
        student_result.append(temp_result)
    
    3. 生成排名
    student_sorted = []
    # 遍历上一步的结果并将求出成绩总和
    for i in student_result:
        student_sorted.append(sum(i))
        # print(student_sorted)
    # 排序
    student_sorted.sort(reverse=True)
    # print(student_sorted)
    # print(student_result)
    
    4. 组合存储结构
    total_student_result = {}
    student_sno = list(sorted(dict_student_info.keys()))
    index = 0
    for i in student_sno:
        temp_total = {}
        temp_total["姓名"]=dict_student_info[i]
        temp_total["明细"]=list(student_result)[index]
        temp_total["总分"]=sum(student_result[index])
        temp_total["名次"]=student_sorted.index(sum(student_result[index]))+1
        total_student_result[i] = temp_total
        index += 1
    
    for i in  sorted(list(total_student_result.keys())):
        print(i,":",total_student_result[i])
    
    5. 输出
    print("\n\n################################成绩单############################")
    print("名次\t学号\t\t姓名\t   语文\t   数学\t   英语\t    总分\t均分")
    for i in range(len(dict_student_info)):
        for j in total_student_result:
            if total_student_result[j]["名次"]==i+1:
                print(i+1,end="\t\t")
                print(j,end="\t\t")
                print(total_student_result[j]["姓名"],end="\t\t")
                for t in range(3):
                    print(total_student_result[j]["明细"][t],end="\t\t")
                print(total_student_result[j]["总分"],end="\t\t")
                print("%.2f" % (total_student_result[j]["总分"]/3))
    
    展开全文
  • 课程设计:学生成绩排序统计系统学生成绩数据排序小程序 课程设计:学生成绩排序统计系统学生成绩数据排序小程序
  • 在一个文本文件中存放着学生的各科成绩,现在需要计算各门课的成绩总分,并进行排序。这个应该怎么做呢?让我们试着编写这样的一个小程序。工具/原料python3.7方法/步骤1第一步,读入文件。由于这个文件并不大,我们...

    在一个文本文件中存放着学生的各科成绩,现在需要计算各门课的成绩总分,并进行排序。这个应该怎么做呢?让我们试着编写这样的一个小程序。

    4080a927ac530688407c887f57e8904801fc96e5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    工具/原料

    python3.7

    方法/步骤

    1

    第一步,读入文件。由于这个文件并不大,我们可以一次性读入,为了方便,这次我们按行读为列表形式。

    423041db3620b93a10d90d70ad0f8835dc8a8ae5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    3931cb413a8ca6084c5fb949db8c9bcec6f8fee5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    2

    第二步,建立学成绩列表,将每个学生作为一个子列表存入成绩列表。

    890dfb4a2f27e7efdc5646b419dd3340b7f3f5e5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    025d87c0affce186da7f85c71f1fbee435daebe5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    3

    第三步,计算每个学生总分。我们分析一下目前得到的成绩列表,可以看出其中第0个子列表是表头,从第1个子列表向后依次是每个学生信息,每个学生的成绩是子列表中的后三个。于是我们先给第0个列表加上“总分”项,然后对每个学生成绩计算总分,写入列表。为了便于后面排序,把得到总分再转化为字符。

    f11f54237971fe1d918935acea20a7cd0d6ee0e5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    0d2fe5f202b375d7962a9641515872dadf49d8e5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    4

    第四步,对学生成绩按总分进行排序。使用sort函数排序,其中用lambda指定排序项为第5列的总分,用reverse指定是否要降序排列。

    ac45306817e951e114a975e35e3da824d9e9cfe5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    84010e2a04e23ea21c138dcf2b10bc33ed38c3e5.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    5

    第五步,将排序后结果打印到屏幕上。通过for函数遍历每行、每列,并在每行结束后打印一个换行,这样效果会更好。

    0d55dc7bd282868993179a0465f97fbd4d7c37ea.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    d2001d7de137c9761ced507044672b5fd4462bea.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    6

    第六步,将得到结果写入文本。

    用w模式写入一个新文件,写的时候要注意遍历成绩列表,对其中的子列表每个原因加上"\t",每个子列表结束后再进行换行。

    b442d6d246fe474e88d21e0ab0ef354f51b81fea.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    fb738d9c2cf7dfb28a48e399d01b1edef5dc13ea.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

    END

    注意事项

    排序是很常用的操作,通过这个小程序可以练习 列表操作、循环及文件读写。

    欢迎大家和我交流。

    经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

    举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

    展开阅读全部

    展开全文
  • python实现n个学生的3门成绩总分排序,平均分

    千次阅读 多人点赞 2020-10-15 00:48:50
    4 输入n个学生的3门成绩, 分别计算n个学生总分,每门功课的平均分。 按学生总分降序显示学生的信息,并输出每门功课的平均分 ''' print("请输入一共多少个学生: ",end="") n = int(input()) #创建二维数组 a =...

    直接上代码,解释在注释,不懂评论留言,必回

    '''
    4 输入n个学生的3门成绩,
    分别计算n个学生的总分,每门功课的平均分。
    按学生的总分降序显示学生的信息,并输出每门功课的平均分
    '''
    print("请输入一共多少个学生: ",end="")
    n = int(input())
    #创建二维数组
    a =[[]for i in range(n)]
    b =[[]for i in range(n)]
    c =[[]for i in range(n)]
    for i in range(n):
        for j in range(3):
            if j == 0:
                print("请输入第{}个学生的第一门成绩:".format(i+1),end="")    
                a[i].append(float(input()))
                c[j].append(a[i][j])
            elif j == 1:
                print("请输入第{}个学生的第二门成绩:".format(i+1),end="")    
                a[i].append(float(input()))
                c[j].append(a[i][j])
            else:
                print("请输入第{}个学生的第三门成绩:".format(i+1),end="")    
                a[i].append(float(input()))
                c[j].append(a[i][j])
        b[i].append('第{}个学生的总成绩'.format(i+1))
        b[i].append(sum(a[i]))
    #按照序列1降序
    b.sort(key = lambda x:x[1],reverse = True)
    #转化为字典输出,也可以不转化,直接输出b
    d={}
    for i in b:
        d[i[0]] = i[1]
    print()
    print("打印降序之后的学生总成绩排名:")
    print(d)
    print()
    for i in range(3):
        print("第{}门成绩的平均分:".format(i+1),sum(c[i])/3)
    
    展开全文
  • £ 15)的考试成绩,用逗号或空格分隔各学生成绩,然后对该班的成绩进行递减排序,要求显示排序结果,并对全班成绩进行统计,给出小于60分、60分段、70分段、80分段和90分段各的人数以及全班的平均分数
  • 输入学生姓名、学号、成绩,会按学生成绩高低排序并输出排名,使用结构体存储,可通过学生学号查找学生成绩并修改(也可以选择不修改),
  • 0分数,设有10个学生成绩分别是56,69,84,82,73,88,99,63,100,80) 。 ;编程将它们由大到小排序,存回到原来的SCORE变量中; ;并统计低于60分、60~69、70~79、80~89、90~99及100分的人数, ;分别存放...
  • 输入三门学生成绩,姓名学号,输出按总分排序,还可按姓名查找学生信息。
  • 学生成绩排序

    2019-01-20 17:25:55
    题目描述: 总成绩是按平时成绩和考试成绩加一块的,平时成绩占30%,考试成绩占70%。(平时成绩和考试成绩均为100) ...每行有一个字符串和两个实数,其中包括学生的姓名,平时成绩和考试成绩。 ...
  • python-学生成绩排序

    万次阅读 2019-01-28 22:39:44
    学生成绩排序(类与对象练习)(10分) 题目内容: 设计一个学生类(Student),其中的数据成员有:字符串类型sname表示录入的学生姓名,整型值mscore代表学生的数学成绩,整型值cscore代表学生的语文成绩,整型值...
  • 从键盘读入某班学生(人数 £ 15)的考试成绩,然后对该班的成绩进行递减排序,要求显示排序结果,并对全班成绩进行统计,给出小于60分、60分段、70分段、80分段和90分段各的人数以及全班的平均分数
  • C++学生类和成绩排序

    千次阅读 多人点赞 2019-05-28 20:31:37
    程序最终输出界面是三个部分,1、录入学生成绩,2、查找学生成绩,3、显示全部学生成绩;首先定义一个学生类,将所有的成员信息放入私有数据,再构造函数默认赋值。处理对象,写出所需要的录入学生成绩信息,姓名、...
  • 学生成绩计算评级排序(java实现)

    千次阅读 2019-04-27 00:30:01
    简单的学生成绩计算评级排序(java实现)写在前面问题说明需求分析问题分解程序模块数据输入模块数值转换模块合法判断模块错误提示模块成绩计算模块选择排序模块成绩评级模块程序输出模块数据结构主要算法程序流程图...
  • } //输入学生成绩的操作 public void input(int on,Student[] arr){ for(int i=0;i if(this.exist(on, arr[i])){ System.out.println("请输入"+arr[i].getName()+"的Java的成绩"); Scanner in=new Scanner(System....
  • C#设计学生成绩排序

    2021-04-16 10:44:58
    设计控制台应用程序,输入若干个学生的英语和数学成绩,求出总分,并按总分从高到低排序,要求设计一个学生类Student,包括数据成员(学号,姓名,英语成绩,数学成绩)。所有学生对象存放在一个Student对象数组中...
  • (3)打印出名次表,表格内包括学生编号、各科分数总分和平均分; (4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。 #include<iostream> using namespace std; void bubble(double a[]...
  • 存储过程+游标完成 成绩总分排序 总成绩相同名次顺序排列 不出现相同成绩相同排名问题
  • 1. 学生成绩排序系统简介 学生成绩排序系统可实现学生信息输入、学生信息输出、学生信息查询、学生成绩排序等功能。程序要求提供简单友好易于操作的界面。程序以C语言开发。 2.学生成绩管理系统基本要求: 假设有5名...
  • 成绩排序 需求: 用TreeSet集合存储多个学生信息(姓名,语文成绩,数学成绩,并遍历该集合) 要求: 按照总分从高到低出现 public class Student { private String name; private int chinese; private int math; ...
  • python用类和面向过程两种方法实现学生成绩管理系统,要求对学生成绩进行增删改查排序总分和求平均分,并且总分是平时成绩乘0.4+考试成绩乘0.6
  • 第一次上传资源,是我自己编写的很小的一代码。是用于对学生成绩进行排序的。没什么技术含量,望大家海涵......

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,362
精华内容 6,144
关键字:

学生成绩总分排序