精华内容
下载资源
问答
  • 降序排列

    2015-10-11 17:27:48
    按每一个学生的成绩总分(数学,语文,英语之和)降序排序,若总分相同,按照数学成绩排序,若总分和数学成绩相同,按照语文成绩降序排序,再按照英语成绩降序排序,选出排名前50名的学生学号。。。。。。 struct ...
    我想要实现以下程序的功能:
    按每一个学生的成绩总分(数学,语文,英语之和)降序排序,若总分相同,按照数学成绩排序,若总分和数学成绩相同,按照语文成绩降序排序,再按照英语成绩降序排序,选出排名前50名的学生学号。。。。。。
    struct stu{
            int stuno;
            int sum;
            int math;
            int chinese;
            int  english;
    }
    展开全文
  • java实现从键盘上输入学生成绩,求总分、平均分、最高分、最低分,并升序排列、降序排列 用数组存储成绩 1、录入,求总分、平均分 2、求最高分、最低分 —打擂台,胜了,站擂台 3、排序(升序、降序) —...
    • 用数组存储成绩

      1、录入,求总分、平均分
      2、求最高分、最低分 —打擂台,胜了,站擂台
      3、排序(升序、降序) —Arrays.sort(arr)方法升序

    package com.array.test;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    //从键盘上输入学生成绩,求总分、平均分、最高分、最低分,并升序排列、降序排列
    public class ArrayScore {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入学生人数");
            int num=sc.nextInt();   //输入学生人数
            int[] score=new int[num];     //创建数组,存放学生成绩
    
            /*1、录入,求总分、平均分*/
            int sum=0;
            for(int i=0;i<score.length;i++){
                System.out.println("请输入第"+(i+1)+"个学生的成绩");
                score[i]=sc.nextInt();          //录入成绩
                sum+=score[i];                  //累加到sum
            }
            System.out.println("总分为:"+sum);
            double avg=sum/num;
            System.out.println("平均分为:"+avg);
    
            /*2、求最高分、最低分*/
            int max=score[0];   //对max初始化
            int min=score[0];   //对min初始化
            for(int i=0;i<score.length;i++){
                if(score[i]>max){   //打擂台,胜了,站上擂台
                    max=score[i]; 
                }
                if(score[i]<min){
                    min=score[i];
                }
            }
            System.out.println("最高分为:"+max);
            System.out.println("最低分为:"+min);
    
    
            /*3、排序(升序、降序)*/
            System.out.println("输出所有学生成绩:");
            for(int i=0;i<score.length;i++){  //直接输出
                System.out.print(score[i]+" ");
            }
            System.out.println();
    
            Arrays.sort(score);         //升序排列
            System.out.println("升序排列结果为:");
            for(int i=0;i<score.length;i++)
                System.out.print(score[i]+" ");
            System.out.println();
    
            System.out.println("降序排列结果为:");    //降序排列
            for(int i=score.length-1;i>=0;i--){
                System.out.print(score[i]+" ");
            }
        }
    
    }
    
    

    结果:
    坚持比努力更重要

    展开全文
  • 凭借总分求函数的降序排列 #include <iostream> #include <cstdlib> #include <string> const int number = 5; using namespace std; typedef struct Date {  string name;  int English; ...
  • 利用Qt读取xml文件,一种是debug下的xml文件,一种是任意文件夹下的xml文件,并用tableWidget和tableView两种方式读取。这里的xml文件是学生成绩,所以还完成了平均分,总分降序排列的操作。
  • 问题详情怎么从mysql按某一字段降序排列后取出有并列数据的记录?想要求出学号为202开头的学生总分前N名的语文平均分。但是以下php语句查询后,$num取总分前7名的时候,显示出来的学号明显不对。请问:这个错在哪里...

    你的位置:

    问答吧

    -> PHP

    -> 问题详情

    怎么从mysql按某一字段降序排列后取出有并列数据的记录?

    想要求出学号为202开头的学生总分前N名的语文平均分。但是以下php语句查询后,$num取总分前7名的时候,显示出来的学号明显不对。请问:这个错在哪里?

    学号     语文   数学   总分

    20313   108     141     249

    20114   114     134     248

    20120   122     126     248

    20205   109     139     248

    20314   113     135     248

    20125   113     134     247

    20212   110     137     247

    20261   113     134     247

    20201   96       150     246

    20307   113     133     246

    $sql   =   "select   avg(chinese)   from   (select   id,total   from   test200702   where   id   >   20100   AND   id   <   20370   order   by   total   desc   limit   0,$num)   as   a   where   id   like   '202% ' ";

    $query=mysql_query($sql);

    while   ($row   =   mysql_fetch_array($query))   {

    echo   $row[id]. "
    ";

    }

    作者: huaiping

    发布时间: 2007-02-09

    当以上的   $num   =   6   时,显示的结果是:

    20205

    20261

    而不是我想要的正确结果(实际上并列第6名的有两个202班级的,都应该算):

    20205

    20212

    20261

    作者: huaiping

    发布时间: 2007-02-09

    SELECT   id,avg(chinese)   FROM   test200702   WHERE   id   BETWEEN   20200   AND   20299   ORDER   BY   total   DESC   LIMIT   $num;

    作者: sstogz

    发布时间: 2007-02-10

    Thanks   all   the   same!楼上的可能没太懂我的意思。

    按所有班级学生的总分降序排列后,取年级前N名,在这年级总分前N名当中,计算班级202开头的那些学生语文的平均分。

    作者: huaiping

    发布时间: 2007-02-10

    那么修改一下吧:

    SELECT   avg(chinese)   FROM   (   SELECT   *   FROM   test200702   WHERE   id   BETWEEN   20100   AND   20370   ORDER   BY   total   DESC   LIMIT   $num   )   AS   a   WHERE   id   BETWEEN   20200   AND   20299;

    作者: sstogz

    发布时间: 2007-02-10

    非常感谢sstogz!!!

    id用大于和小于判断无法取出正确的结果,但是用between就可以。纳闷中。。。。。。

    不过问题总算是解决了!

    作者: huaiping

    发布时间: 2007-02-10

    展开全文
  • 这题输入每个考生的考号、德分、才分,然后把考生成绩分为四等,每一等要进行排序,即按总分降序排列,总分相同的按德分降序排列,德分相同的按考号升序排列。 我的代码先把考生分进四个数组,对每个数组用快排后再...

    https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312

    3.9改进版本

    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    struct student{
    	int number;
    	int de;
    	int cai;
    	int total;
    	int category;
    };
    
    bool cmp(student a, student b){
    	if(a.category != b.category)
    		return a.category < b.category;
    	if(a.total != b.total)
    		return a.total > b.total;
    	if(a.de != b.de)
    		return a.de > b.de;
    	if(a.number != b.number)
    		return a.number < b.number;
    }
    
    int main(){
    	int n, l, h, k=0;
    	cin >> n >> l >> h;
    	student stus[n];
    	for(int i=0; i<n; i++){
    		cin >> stus[k].number >> stus[k].de >> stus[k].cai;
    		if(stus[k].de < l || stus[k].cai < l){
    			continue;
    		}
    		stus[k].total = stus[k].de + stus[k].cai;
    		if(stus[k].de >= h && stus[k].cai >= h){
    			stus[k].category = 1;
    		}else if(stus[k].de >= h && stus[k].cai < h){
    			stus[k].category = 2;
    		}else if(stus[k].de < h && stus[k].cai < h && stus[k].de >= stus[k].cai){
    			stus[k].category = 3;
    		}else{
    			stus[k].category = 4;
    		}
    		k ++;
    	}
    	sort(stus, stus+k, cmp);
    	cout << k << endl;
    	for(int i=0; i<k; i++){
    		cout << stus[i].number << " " << stus[i].de << " " << stus[i].cai << endl;
    	}
    	return 0;
    }

    原版

    这题输入每个考生的考号、德分、才分,然后把考生成绩分为四等,每一等要进行排序,即按总分降序排列,总分相同的按德分降序排列,德分相同的按考号升序排列。

    我的代码先把考生分进四个数组,对每个数组用快排后再输出。

    #include<iostream>
    using namespace std;
    
    // 快速排序
    void quick_sort(int arr[][3], int l, int r)
    {
        if (l < r)
        {
        	int i = l, j = r, x[3];
        	x[0] = arr[l][0];
        	x[1] = arr[l][1];
        	x[2] = arr[l][2];
        	while(i < j){
    			while(i < j && (arr[j][1]+arr[j][2] < x[1]+x[2] || (arr[j][1]+arr[j][2] == x[1]+x[2] && arr[j][1] < x[1]) || (arr[j][1]+arr[j][2] == x[1]+x[2] && arr[j][1] == x[1] && arr[j][0] > x[0]))){
    	            j--;
    			}
    	        if(i < j) 
    	        {
    	            arr[i][0] = arr[j][0];
    	            arr[i][1] = arr[j][1];
    	            arr[i++][2] = arr[j][2];
    	        }
    	        while(i < j && (arr[i][1]+arr[i][2] > x[1]+x[2] || (arr[i][1]+arr[i][2] == x[1]+x[2] && arr[i][1] > x[1]) || (arr[i][1]+arr[i][2] == x[1]+x[2] && arr[i][1] == x[1] && arr[i][0] < x[0]))){
    	            i++;  
    	        }
    	        if(i < j) 
    	        {
    	            arr[j][0] = arr[i][0];
    	            arr[j][1] = arr[i][1];
    	            arr[j--][2] = arr[i][2];
    	        }
    		}
    		arr[i][0] = x[0];
    		arr[i][1] = x[1];
    		arr[i][2] = x[2];
            quick_sort(arr, l, i - 1); 
            quick_sort(arr, i + 1, r);
        }
    }
    
    int main(){
    	int n, l, h, a, b, c;
    	int p1=0, p2=0, p3=0, p4=0;
    	cin >> n >> l >> h;
    	int stu1[n][3], stu2[n][3], stu3[n][3], stu4[n][3];
    	for(int i=0; i<n; i++){
    		cin >> a >> b >> c;
    		if(b>=h && c>=h){
    			stu1[p1][0] = a;
    			stu1[p1][1] = b;
    			stu1[p1++][2] = c;
    		}
    		else if(b>=h && c>=l){
    			stu2[p2][0] = a;
    			stu2[p2][1] = b;
    			stu2[p2++][2] = c;
    		}else if(b>=l && c>=l && b>=c){
    			stu3[p3][0] = a;
    			stu3[p3][1] = b;
    			stu3[p3++][2] = c;
    		}else if(b>=l && c>=l){
    			stu4[p4][0] = a;
    			stu4[p4][1] = b;
    			stu4[p4++][2] = c;
    		}
    	}
    
    	cout << p1+p2+p3+p4 << endl;
    
    	quick_sort(stu1, 0, p1);
    	quick_sort(stu2, 0, p2);
    	quick_sort(stu3, 0, p3);
    	quick_sort(stu4, 0, p4);
    
    	for(int i=0;i<p1;i++){
    		cout << stu1[i][0] << " " << stu1[i][1] << " " << stu1[i][2] << endl;
    	}
    	for(int i=0;i<p2;i++){
    		cout << stu2[i][0] << " " << stu2[i][1] << " " << stu2[i][2] << endl;
    	}
    	for(int i=0;i<p3;i++){
    		cout << stu3[i][0] << " " << stu3[i][1] << " " << stu3[i][2] << endl;
    	}
    	for(int i=0;i<p4;i++){
    		cout << stu4[i][0] << " " << stu4[i][1] << " " << stu4[i][2] << endl;
    	}
    	return 0;
    }

     

    展开全文
  • 2.要求:查询出有成绩学生的各科成绩信息和总分,并按照总分降序排列,显示效果如下 ①关联自身表查询 SELECT a. NAME '姓名', b.score '语文', c.score '数学', d.score '英语', (b.sc...
  • (2) 对学生数据进行排序, 按三科总分降序排列。(3) 按此排序结果在屏幕上显示前三名学生的成 绩。(4)在屏幕上显示学号最靠前的 5 名学生的成绩。请编写主程序及 四个子程序,使用跳转表法实现调用关系,并用结构...
  • 分数汇总如下,学号对应每位同学的博客地址,按照总分降序排列。 总分为每次作业成绩的综合,百分数计算方法: 按照名次将所有人分数线性映射到[50,100]区间,排名靠后的如果不想挂科就得加油咯! 若有疑问建议可...
  • 如下图,这是一个关于用户参加活动,每个...用户3参加了C活动,评分99需求:把以上四条数据按照每个用户的 总分 降序排列SQL:SELECT SUM(score),user_id,campaign_id FROM 表名 GROUP BY (user_id) ORDER BY SUM(s...
  • 如下图,这是一个关于用户参加活动,每个...用户3参加了C活动,评分99需求:把以上四条数据按照每个用户的 总分 降序排列SQL:SELECT SUM(score),user_id,campaign_id FROM 表名 GROUP BY (user_id) ORDER BY SUM(s...
  • 如下图,这是一个关于用户参加活动,每个...用户3参加了C活动,评分99需求:把以上四条数据按照每个用户的 总分 降序排列SQL:SELECT SUM(score),user_id,campaign_id FROM 表名 GROUP BY (user_id) ORDER BY SUM(s...
  • 网贷之家研究中心根据500家平台在平台微信公众号、平台APP、平台微博、新闻客户端等常见移动端的数据,选取反映平台在移动端影响力的指标,运用加权分组线性打分法计算得出,并对影响力总分降序排列前100名的平台...
  • MySQL的sum()函数

    2018-02-11 10:31:00
    如下图,这是一个关于用户参加活动,每个活动会给这位用户评分的一个表: ...需求:把以上四条数据按照每个用户的 总分 降序排列 SQL: SELECT SUM(score),user_id,campaign_id FROM 表名 GROUP BY (user_id) ...
  • (4)将学生的成绩按照总分降序排列; (5)打印所有单科成绩不及格的学生姓名,不及格课程以及该科得分。 要求:当程序启动时,主界面是上述五个功能,当用户输入1,2,3,4,5时,分别执行每个功能,按0时关闭...
  • 从成绩表score中查询每个学生的总成绩并按降序排列select sc.stu_id,sum(sc.score) sumscore from score sc group by sc.stu_id order by sumscore desc2. 用1得到的表和学生表student联合查询得到学...
  • 对Excel数据进行排序.rar,本例学员成绩表中,有10名学员的各科成绩,利用介绍的公式,可以实现按总分对学员进行降序排列
  • 1.应用场景 二次排序是各类数据处理应用中经常遇到的问题,如学生成绩排名,先按照总分排名,如果总分一样按照英语成绩排名)...排序规则为先按照语文成绩降序排列,如果语文成绩相同,则按照数学成绩降序排列。 输...
  • 1.总分高,总分降序排序。 2.总分相同,根据完美解决问题的数量降序排序。 3.如果数量也相同,则根据学号升序排列。 4.对于那些从来没有提交过任何可以通过编译器的解决方案的人,或者从来没有提交过任何解决方案的...
  • Excel 如何排序与多关键字排序

    千次阅读 2019-08-28 17:08:17
    Excel 如何排序与多关键字排序 在使用Excel时,对每项录入了数据后,需要对它们进行排序,如何实现呢? 唯一关键字排序 排序前原表格如下: ...对于总分相同的,我们想按照“语文”降序排列, 难道需要对于...
  • 学生管理-C- ...按每个学生的分数降序排列5.按每个学生的分数升序排列6.按升序排列7.按字典顺序按名称排序8.按号码搜索9.按名称搜索10,每门课程的统计分析11.清单记录12,写入文件13.从文件读取 执照
  • 用C语言链表编写学生成绩管理系统

    万次阅读 多人点赞 2018-09-06 20:04:12
    本代码供读者学习使用,请不要随意转载。 一、设计题目:学生成绩管理系统 二、目的与要求 每位学生记录包含有学号、姓名、性别、出生日期、三门功课的成绩(高等数学、大学...(6)按总分对记录进行降序排列 ...
  • 原创VC6.0 MFC应用程序源码,包含CListCtrl BUTTON CTreeCtrl等控件的使用,还有CImageList的使用,自定义结构体的方法,包含冒泡排序升序降序排列,关于学生班级的信息显示,姓名学号语数英分数总分等内容,最终将...
  • 一开始接触到这个的时候,我们感觉有些繁琐,无聊,其实不是的。 那么现在就让你见证的时刻到了。 典例1: 查询每个年级的总学时数,并按照升序排列 ...查询每个学生参加所有考试的总分,并按照降序排列 sel...
  • 高考录取时,会按成绩总分降序依次录取等。 网站是如何做到快速地将商品按某种规则有序的呢? 什么是排序? 假设含有n个记录的序列为{r1,r2,……,rn},其相应的关键字分别为{k1,k2,……,kn},需确定 1,2,...
  • Java实现常见的排序算法

    千次阅读 2017-05-13 15:37:29
    高考录取时,会按成绩总分降序依次录取等。那排序的严格定义是什么呢? 假设含有 n 个记录的序列为{r1,r2,......,rn}, 其相应的关键字分别为{k1,k2,......,kn} ,需确定 1, 2……, n 的一种排列 p1,p2,.
  • 高考录取时,会按成绩总分降序依次录取等。排序是数据处理中经常使用的一种重要的运算,它在我们的程序开发中承担着非常重要的角色。 排序分为以下四类共七种排序方法: 交换排序: ① 冒泡排序 ② 快速排序 选择...
  • HDU 5003 [Osu!] 水题

    2017-08-29 21:52:00
    题目大意:给出n首歌曲得分,降序排列后第i首歌得分能让总分加上0.95^(i-1)*ai分。让你输出总分。 代码如下: #include <iostream> #include <cmath> #include <algorithm> usin...
  • 高考录取时,会按成绩总分降序依次录取等。排序是数据处理中经常使用的一种重要的运算,它在我们的程序开发中承担着非常重要的角色。 排序分为以下四类共七种排序方法: 交换排序: 1) 冒泡排序 2) 快速排序 ...

空空如也

空空如也

1 2 3 4
收藏数 64
精华内容 25
关键字:

总分降序排列