//开始把student stu[100000]放置在main()中导致栈溢出,所以必须放在全局位置,

//可以调用数组的排序函数sort,包含头文件#include<algorithm>,在默认的情况下,数组sort函数进行升序排序

//控制sort的第三个参数,传递函数指针进去,可以按照自己写的函数进行排序

#include<iostream>
#include<algorithm>
using namespace std;
class student{
public:
char number[7];
char name[9];
short mark;
};
student stu[100000];
bool cmp1(student x, student y);
bool cmp2(student x, student y);
bool cmp3(student x, student y);
int main()
{
int N, c, i, count = 0;
while (cin >> N >> c&&N)
{
count++;
for (i = 0; i < N; i++)
cin >> stu[i].number >> stu[i].name >> stu[i].mark;;
switch (c){
case 1:sort(stu,stu+N,cmp1); break;
case 2:sort(stu,stu+N,cmp2); break;
case 3:sort(stu,stu+N,cmp3); break;
}
cout << "Case " << count << ":" << endl;
for (i = 0; i < N; i++)
cout << stu[i].number << ' ' << stu[i].name << ' ' << stu[i].mark << endl;
}
return 0;
}
bool cmp1(student x, student y)
{
if (strcmp(x.number, y.number) < 0)//学号递增排序
return true;
else
return false;
}
bool cmp2(student x, student y)
{
if (strcmp(x.name, y.name)<0)
return true;
else if (strcmp(x.name, y.name) == 0)
{
if (strcmp(x.number, y.number) < 0)     //姓名非递减排序
return true;
else
return false;
}
else
return false;
}
bool cmp3(student x, student y)
{
if (x.mark < y.mark)
return true;
else if (x.mark == y.mark)
{
if (strcmp(x.number, y.number) < 0)        //分数非递减排序
return true;
else
return false;
}
else
return false;
}

hdu1862的更多相关文章

  1. HDU1862 - EXCEL排序

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1862 解题思路:结构体排序 #include <bits/stdc++.h> using ...

  2. OJ题目分类

    POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...

随机推荐

  1. 59、小米电视安装apk(无u盘操作)

    第一步 打开电视或者盒子,找到应用商店 第二步 打开应用商店 第三步.打开应用商店后,找到用户,别切换到快捷安装 第四步.记住地址,使用在同一网络下的电脑打开此网页 第五步.页面效果如图 第六步.找到 ...

  2. pycharm的常用操作:设置字体主题,注释整段代码,调整格式,批量替换等

    1.调出常用工具栏 调出的结果是下面这样的: 2.调出常用工具按钮 调出的结果如下: 3. 调整主题及文字大小 ps:如果设置后没变,需要多设置几次就好了. 4. 统一后退几格调整对齐格式 选中要调整 ...

  3. Python-S9-Day87——admin的使用

    01 admin的使用1 02 admin的使用2 03 admin的使用3 04 url方法的使用 05 单例模式 06 admin源码之注册功能 07 admin源码之url设计 08 admin ...

  4. day02_04.算算多少人

    第四题 算算有多少人? 第二题的升级版,看看你能不能做出来 利用你的编程思想去看这道题目,记住不要放过题目的每一个小细节 题目:操场上100多人排队,3人一组多1人,4个一组多2人,5人一组多3人,共 ...

  5. Map 中的EntrySet() ,Map的遍历

      我们循环Map时一般用到EntrySet(),EntrySet() 返回的时Set集合(Set<Map.Entry<K, V>>). 那么这里的有Map.Entry< ...

  6. ALPHA 冲刺(一)

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:丹丹 组员7:家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内 ...

  7. hdu 3714 Error Curves(三分)

    Error Curves Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tot ...

  8. 关于caffe 是如何卷积的一点总结

    最近,在看caffe源码时,偶然在网上看到一个问题?觉得挺有意思,于是,仔细的查了相关资料,并将总结写在这里,供大家迷惑时,起到一点启示作用吧. 问题的题目是CNN中的一个卷积层输入64个通道的特征子 ...

  9. 【转】unity自带寻路Navmesh入门教程(二)

    http://liweizhaolili.blog.163.com/blog/static/16230744201271210237616/ 上一节简单介绍了NavMesh寻路的基本用法,这次来介绍一 ...

  10. 谷歌插件请求ci 解决CI框架的Disallowed Key Characters错误提示

    用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示.有人说 url 里有非法字符.但是确定 url 是纯英文的,问题还是出来了.但清 ...