精华内容
下载资源
问答
  • 每个测试用例第1行包含两个整数 N () 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不...
  • windows 程序设计

    2011-07-24 21:16:30
    任何Windows历史介绍都必须包括一些OS/2说明,OS/2是对DOS和Windows另一种选择,最初是由Microsoft和IBM合作开发。OS/2版本1.0(只有文字模式)在Intel 286(或者后来)微处理器上运行,在1987年末发布。...
  • HDOJ(HDU) 1862 EXCEL排序(类对象快排)

    千次阅读 2016-04-22 20:32:03
    每个测试用例第1行包含两个整数 N () 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不包含...

    Problem Description
    Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。

    Input
    测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N
    行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。

    Output
    对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3
    时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。

    Sample Input
    3 1
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    4 2
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 98
    4 3
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 90
    0 0

    Sample Output
    Case 1:
    000001 Zoe 60
    000007 James 85
    000010 Amy 90
    Case 2:
    000010 Amy 90
    000002 James 98
    000007 James 85
    000001 Zoe 60
    Case 3:
    000001 Zoe 60
    000007 James 85
    000002 James 90
    000010 Amy 90

    这个题目难度不大,但是不能用普通的排序,不然会超时。
    一定要用快排!
    以前我对java的import java.util.Arrays的:(
    sort(T[] a,Comparator< ? super T> c)根据指定比较器产生的顺序对指定对象数组进行排序。数组中的所有元素都必须是通过指定比较器可相互比较的(也就是说,对于数组中的任何 e1 和 e2 元素而言,c.compare(e1, e2) 不得抛出 ClassCastException)。
    保证此排序是稳定的:不会因调用 sort 方法而对相等的元素进行重新排序。

    该排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n*log(n) 性能。

    参数:
    a - 要排序的数组
    c - 确定数组顺序的比较器。null 值指示应该使用元素的自然顺序。 )
    不怎么理解怎么用比较器,现在完全明白了,O(∩_∩)O哈哈~、、、

    import java.util.Arrays;
    import java.util.Comparator;
    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int time = 1;
            while (sc.hasNext()) {
                int n = sc.nextInt();
                int m = sc.nextInt();
                if (n == 0 && m == 0) {
                    break;
                }
                // System.out.println(n+" "+m);
    
                student[] s = new student[n];
                for (int i = 0; i < n; i++) {
                    s[i] = new student();
                    s[i].no = sc.nextInt();
                    s[i].name = sc.next();
                    s[i].results = sc.nextInt();
                }
                System.out.println("Case " + (time++) + ":");
                if (m == 1) {
                    sort1(s);
                    for (int i = 0; i < s.length; i++) {
                        int t = Integer.toString(s[i].no).length();
                        for (int k = 6; k > t; k--) {
                            System.out.print(0);
                        }
                        System.out.println(s[i].no + " " + s[i].name + " "
                                + s[i].results);
                    }
                    continue;
                }
                if (m == 2) {
                    sort2(s);
                    for (int i = 0; i < s.length; i++) {
                        int t = Integer.toString(s[i].no).length();
                        for (int k = 6; k > t; k--) {
                            System.out.print(0);
                        }
                        System.out.println(s[i].no + " " + s[i].name + " "
                                + s[i].results);
                    }
                    continue;
                }
                if (m == 3) {
                    sort3(s);
                    for (int i = 0; i < s.length; i++) {
                        int t = Integer.toString(s[i].no).length();
                        for (int k = 6; k > t; k--) {
                            System.out.print(0);
                        }
                        System.out.println(s[i].no + " " + s[i].name + " "
                                + s[i].results);
                    }
                    continue;
                }
    
            }
        }
    
        private static void sort3(student[] s) {
            Arrays.sort(s,new Comparator<student>() {
                @Override
                public int compare(student o1, student o2) {
                    if(o1.results==o2.results){
                        if(o1.no>o2.no){
                            return 1; 
                        }else{
                            return -1;
                        }
                    }
                    if(o1.results>o2.results){
                        return 1;
                    }
                    return -1;
                }
            });
        }
    
        private static void sort2(student[] s) {
            Arrays.sort(s, new Comparator<student>() {
                @Override
                public int compare(student o1, student o2) {
    
                    if (o1.name.equals(o2.name)) {
                        if (o1.no > o2.no) {
                            return 1;
                            //返回1,就是交换位置!!!
                        } else {
                            return -1;
                        }
                    } else {
                        if (o1.name.length() > o2.name.length()) {
                            for (int i = 0; i < o2.name.length(); i++) {
                                if (o1.name.charAt(i) > o2.name.charAt(i)) {
                                    return 1;
                                } 
                                if (o1.name.charAt(i) < o2.name.charAt(i))
                                {
                                    return -1;
                                }
                            }
                            return 1;
                        } else if (o1.name.length() < o2.name.length()) {
                            for (int i = 0; i < o1.name.length(); i++) {
                                if (o1.name.charAt(i) > o2.name.charAt(i)) {
                                    return 1;
                                } 
                                if (o1.name.charAt(i) < o2.name.charAt(i))
                                {
                                    return -1;
                                }
                            }
                            return -1;
                        } else {
                            for (int i = 0; i < o1.name.length(); i++) {
                                if (o1.name.charAt(i) > o2.name.charAt(i)) {
                                    return 1;
                                } 
                                if (o1.name.charAt(i) < o2.name.charAt(i))
                                {
                                    return -1;
                                }
                            }
                        }
                    }
                    return 0;
                }
    
            });
        }
    
        private static void sort1(student[] s) {
            Arrays.sort(s, new Comparator<student>() {
                @Override
                public int compare(student o1, student o2) {
                    // 按照no的大小 s从小到大排序
                    if (o1.no > o2.no) {
                        return 1;
                    } else {
                        return -1;
                    }
                }
    
            });
            // for(int i=0;i<s.length-1;i++){
            // for(int j=i+1;j<s.length;j++){
            // if(s[i].no>s[j].no){
            // student tm = s[i];
            // s[i] = s[j];
            // s[j]=tm;
            // }
            // }
            // }
        }
    }
    
    class student {
        public int no;
        public String name;
        public int results;
    }
    
    展开全文
  • 程序中定义了一个函数s,该函数的功能是求∑ni=1i 的值。在主函数中输入n值,并作为实参,在调用时传送给s 函数的形参量n( 注意,本例的形参变量和实参变量的标识符都为n, 但这是两个不同的量,各自的作用域不同)...
  • 模拟电梯系统程序设计

    热门讨论 2010-07-12 17:28:06
    备注:老师会提供一已经编制好程序以及一些给出数据定义,它们主要功能是表示电梯系统参数,模拟电梯运行以及处理各类信号输入输出。要注意利用它们提供一些控制显示和键盘输入函数和过程来简化输入...
  • 3.6写出以下程序运行结果: 3 3.7要将“China”译成密码,密码规律:用原来字母后面第4个字母代替原来字母。例如,字母“A”后面第4个字母“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请...
  • ============================= ...218 功能强大文本编辑器 219 图书管理系统 220 进销存管理系统 //========= End of the file. 文件内容结束 ===============\\
  • 数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写超出整数范围的数值。 7. 修改高级表格支持库,通过鼠标调整行高列宽时不改变当前光标行列号。 8. 修改BUG:在IDE中打开源代码文件(.e)后...
  • 编译系统在源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释,能够提高程序的可读性。在...
  • 每个测试用例第1行包含两个整数 N () 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不...
  • 出处:风流CG网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 ...switch是对多重if-elseif-else结构最好替换: switch ($i) { case 0: print "i equals 0"; case 1: print "i equals 1"; case 2: print "i ...
  •  我们经常会用到求两个整数的最大公约数和最小公倍数的功能。    下面的程序给出了一种算法。    函数 myfunc 接受两个正整数a,b    经过运算后打印出 它们的最大公约数和最小公倍数。    此时,调用 ...
  • 词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。本实验中,采用的是一类符号对应一个种别码的方式。 2、 单词的BNF表示 <标识符>----> ...
  • =100000) 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不包含空格字符串)、成绩(闭区...

    EXCEL排序

    题目:
    Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。
    Input
    测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N
    行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。
    Output
    对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3
    时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。

    输入输出样例:

    Sample Input
    3 1
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    4 2
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 98
    4 3
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 90
    0 0
    

    .

    Sample Output
    Case 1:
    000001 Zoe 60
    000007 James 85
    000010 Amy 90
    Case 2:
    000010 Amy 90
    000002 James 98
    000007 James 85
    000001 Zoe 60
    Case 3:
    000001 Zoe 60
    000007 James 85
    000002 James 90
    000010 Amy 90
    

    .
    思路:
    定义结构体,cmp函数,sort()进行排序

    .

    代码:
    (未通过 wrong answer)

    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <stdio.h>
    
    using namespace std;
    
    struct st
    {
        char num[10];
        char name[10];
        int sc;
    } s[100005];
    
    bool cmp1(st x, st y)
    {
        if (strcmp(x.num, y.num) > 0)
            return 0;
        else
            return 1;
    }
    
    bool cmp2(st x, st y)
    {
        if (strcmp(x.name, y.name) > 0)
            return 0;
        else if (strcmp(x.name, y.name) == 0)
        {
            if (strcmp(x.num, y.num) > 0)
                return 0;
        }
        return 1;
    }
    
    bool cmp3(st a, st b)
    {
        if (a.sc==b.sc)
        {
            if (strcmp(a.num, b.num) > 0)
                return 0;
        }
        return a.sc < b.sc;
    }
    
    int main()
    {
        int n, c;
        // ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
        while(cin >> n  >> c && n != 0 && c != 0)
    
        {
            for (int i = 1; i <= n; i++)
    
                cin >> s[i].num >> s[i].name >> s[i].sc;
    
            if (c == 1)
            {
                sort(s + 1, s + 1 + n, cmp1);
                cout << "Case " << c << ":" << endl;
                for (int i = 1; i <= n; i++)
                {
                    cout << s[i].num << " " << s[i].name << " " << s[i].sc << endl;
                }
            }
            if (c == 2)
            {
                sort(s + 1, s + 1 + n, cmp2);
                cout << "Case " << c << ":" << endl;
                for (int i = 1; i <= n; i++)
                {
                    cout << s[i].num << " " << s[i].name << " " << s[i].sc << endl;
                }
            }
            if (c == 3)
            {
                sort(s + 1, s + 1 + n, cmp3);
                cout << "Case " << c << ":" << endl;
                for (int i = 1; i <= n; i++)
                {
                    cout << s[i].num << " " << s[i].name << " " << s[i].sc << endl;
                }
            }
    
        }
        return 0;
    }
    
    展开全文
  • 每个测试用例第1行包含两个整数 N () 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不
                                EXCEL排序
    

    Problem Description
    Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。

    Input
    测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N
    行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。

    Output
    对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3
    时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。

    Sample Input
    3 1
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    4 2
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 98
    4 3
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 90
    0 0

    Sample Output
    Case 1:
    000001 Zoe 60
    000007 James 85
    000010 Amy 90
    Case 2:
    000010 Amy 90
    000002 James 98
    000007 James 85
    000001 Zoe 60
    Case 3:
    000001 Zoe 60
    000007 James 85
    000002 James 90
    000010 Amy 90

    # include <iostream>
    # include <cstdio>
    # include <algorithm>
    # include <cstring>
    using namespace std;
    
    struct Student{
        int sno;
        char name[15];
        int grade;
    };
    
    bool cmp(Student s1,Student s2){
    
        return s1.sno<s2.sno;
    
    }
    
    bool cmp1(Student s1,Student s2){
    
        if(strcmp(s1.name,s2.name)==0){
            return s1.sno<s2.sno;
        }
        else  return strcmp(s1.name,s2.name)<0;
    }
    
    bool cmp2(Student s1,Student s2){
    
        if(s1.grade==s2.grade)
            return s1.sno<s2.sno;
        else
            return s1.grade<s2.grade;
    }
    Student s[100009];
    int main(){
    
        int n,m;
    
        int i,j;
        int cnt = 0;
        while(scanf("%d%d",&n,&m),n!=0&&m!=0){
    
            for(i=0;i<n;i++)
                scanf("%d%s%d",&s[i].sno,&s[i].name,&s[i].grade); 
    
            if(m==1){
                sort(s,s+n,cmp);
            }else if(m==2){
                sort(s,s+n,cmp1);
            }else{
                sort(s,s+n,cmp2);
            }
    
            printf("Case %d:\n",++cnt);
            for(i=0;i<n;i++)
                printf("%06d %s %d\n",s[i].sno,s[i].name,s[i].grade);
    
        }
    
        return 0;
    }
    
    展开全文
  • 内repo盘点

    2020-12-08 20:12:56
    <div><p>按照这篇文章几个方面分类, 并将无内提交内容清除. 完成后将此目录(或链接)加到首页. <p><strong>(进行中) - 总讨论区, <a href="https://github.com/program-in-chinese/backup_issues">issue备份库,...
  • Applet钢琴模拟程序java源码 2个目标文件,提供基本音乐编辑功能。编辑音乐软件朋友,这款实例会你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机...
  • Applet钢琴模拟程序java源码 2个目标文件,提供基本音乐编辑功能。编辑音乐软件朋友,这款实例会你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机...
  • 每个测试用例第1行包含两个整数 N () 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不...
  • 5.18 运行时的整数值0转换为指针以后一定空指针吗? 5.19 如何访问位于机器地址0处中断向量?如果我将指针值设为0,编译器可能会自动将它转换为非零空指针内部表示。 5.20运行时“nullpointerassignment”...
  •  GC垃圾收集意思(Gabage Collection),内存处理编程人员容易出现问题地方,忘记或者错误内存回收会导致程序或系统不稳定甚至崩溃,Java提供GC功能可以自动监测对象是否超过作用域从而达到自动回收...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    内容简介 《你必须知道495个C语言问题》以问答形式组织内容,讨论了学习或使用C语言过程中经常遇到一些问题。书中列出了C用户经常问400多个...5.18 运行时的整数值0转换为指针以后一定空指针吗? 61 5.19...
  • 5.18 运行时的整数值0转换为指针以后一定空指针吗? 61 5.19 如何访问位于机器地址0处中断向量?如果我将指针值设为0,编译器可能会自动将它转换为非零空指针内部表示。 62  5.20 运行时“null pointer...
  • 每个测试用例第1行包含两个整数 N () 和 C,其中 N 纪录,C 指定排序列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同测试中没有重复学号)、姓名(不超过8位且不包含...
    Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。
    Input测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。 Output对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3 时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。 Sample Input
    3 1
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    4 2
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 98
    4 3
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 90
    0 0
    Sample Output
    Case 1:
    000001 Zoe 60
    000007 James 85
    000010 Amy 90
    Case 2:
    000010 Amy 90
    000002 James 98
    000007 James 85
    000001 Zoe 60
    Case 3:
    000001 Zoe 60
    000007 James 85
    000002 James 90
    000010 Amy 90

    代码如下:
    #include<iostream>
    #include<string.h>
    #include<string>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    struct stu
    {
        string xuehao;
        string name;
        int grade;
    }a[100005];
    
    bool cmp1(stu a,stu b)
    {
        
        
        return strcmp(a.xuehao.c_str(),b.xuehao.c_str())<0;
        
    }
    bool cmp2(stu a,stu b)
    {
        if(strcmp(a.name.c_str(),b.name.c_str())!=0)
            return strcmp(a.name.c_str(),b.name.c_str())<0;
        else return strcmp(a.xuehao.c_str(),b.xuehao.c_str())<0;
    }
    bool
    cmp3(stu a,stu b)
    {
        if(a.grade!=b.grade)
            return a.grade<b.grade;
        else return strcmp(a.xuehao.c_str(),b.xuehao.c_str())<0;
    }
    int main()
    {
        int cnt=0,i,n,c;
        while(scanf("%d%d",&n,&c)&&n!=0&&c!=0)
        {
            for(i=1;i<=n;i++)
            {
                scanf("%s%s%d",a[i].xuehao.c_str(),a[i].name.c_str(),&a[i].grade);
            }cnt++;
            switch(c)
            {
                case 1:sort(a,a+n+1,cmp1);
                    printf("Case %d:\n",cnt);
                    for(i=1;i<=n;i++)
                    {
                        
                        printf("%s %s %d\n",a[i].xuehao.c_str(),a[i].name.c_str(),a[i].grade);
                        
                    }break;
                case 2: sort(a,a+n+1,cmp2);
                    printf("Case %d:\n",cnt);
                    for(int i=1;i<=n;i++)
                    {
                        printf("%s %s %d\n",a[i].xuehao.c_str(),a[i].name.c_str(),a[i].grade);
                        
                    }break;
                case 3: sort(a,a+n+1,cmp3);
                    printf("Case %d:\n",cnt);
                    for(int i=1;i<=n;i++)
                    {
                        printf("%s %s %d\n",a[i].xuehao.c_str(),a[i].name.c_str(),a[i].grade);
                        
                    }break;
                    
            }
        }
        
        return 0;
        
        
    }
    第二种利用 vector
    #include<iostream>
    #include<string>
    #include<vector>
    #include<algorithm>
    using namespace std;
    
    struct student{  //定义结构体 
    	string num;
    	string name;
    	int score;
    }temp;
    
    bool cmp1(student a,student b)  //按学号 
    {
    	return a.num<b.num;
    }
    
    bool cmp2(student a,student b)  //按姓名 
    {
    	if(a.name==b.name)
    		return a.num<b.num;
    	return a.name<b.name;
    }
    
    bool cmp3(student a,student b)  //按成绩 
    {
    	if(a.score==b.score)
    		return a.num<b.num;
    	return a.score<b.score;
    }
    
    
    int main()
    {
    	int n,m,t,cas=1;
    	string str;
    	while(cin>>n>>m)
    	{
    		vector<student>vec;  //定义student类型容器 
    		vector<student>::iterator it;
    		
    		if(n==0&&m==0)
    			break;
    			
    		for(int i=1;i<=n;i++)
    		{
    			cin>>temp.num>>temp.name>>temp.score;
    			vec.push_back(temp);
    		}
    		
    		
    		if(m==1)
    			sort(vec.begin(),vec.end(),cmp1);
    		else if(m==2)
    			sort(vec.begin(),vec.end(),cmp2);
    		else if(m==3)
    			sort(vec.begin(),vec.end(),cmp3);
    			
    		cout<<"Case "<<cas++<<":"<<endl;
    		
    		for(it=vec.begin();it!=vec.end();it++)
    			cout<<it->num<<" "<<it->name<<" "<<it->score<<endl;
    	}
    	return 0;
    }



    展开全文

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 133
精华内容 53
关键字:

以下程序的功能是对整数数组