杭电acm1862 EXCEL排序的实现
来源:互联网 发布:软件企业即征即退期限 编辑:程序博客网 时间:2024/05/23 01:46
本人比较菜,至今还没有搞懂字典是怎么回事
查了大佬的结题报告,改成了C++语言
仔细看看是能够都明白的,就是简单的排序问题,被字典整蒙了。。。
#include<iostream>#include <cstdio> #include <string.h> #include <algorithm> #define maxn 100005using namespace std; struct node { char id[20]; char name[20]; int fen; } a[maxn]; bool cmp1(node x,node y) { if( strcmp(x.id , y.id) < 0 )//学号递增排序 return true; else return false; } bool cmp2(node x,node y) { if(strcmp(x.name,y.name) < 0 )//名字字典序非递减排序 return true; else if(strcmp(x.name , y.name) == 0) { if( strcmp(x.id , y.id) < 0 )//当若干学生具有相同姓名时,则按他们的学号递增排序 return true; } return false; } bool cmp3(node x,node y) { if(x.fen<y.fen) return true;//成绩非递减排序 else if(x.fen==y.fen) { if( strcmp(x.id , y.id) < 0 )//当若干学生具有相同成绩时,则按他们的学号递增排序 return true; } return false; } int main() { int n,c,T=0,i; while(cin>>n>>c&&n!=0) { for(i=0; i<n; i++) cin>>a[i].id>>a[i].name>>a[i].fen; switch(c) { case 1: sort(a,a+n,cmp1); break; case 2: sort(a,a+n,cmp2); break; case 3: sort(a,a+n,cmp3); break; } cout<<"Case "<<++T<<":"<<endl; for(i=0; i<n; i++) cout<<a[i].id<<" "<<a[i].name<<" "<<a[i].fen<<endl; } return 0; }
阅读全文
0 0
- 杭电acm1862 EXCEL排序的实现
- 杭电1862 EXCEL排序
- 杭电 1862 EXCEL排序
- 杭电1862EXCEL排序
- 【杭电】[1862]EXCEL排序
- 【杭电1862】excel排序
- 杭电hdu 1862 EXCEL排序 qsort
- 杭电--1862--EXCEL排序--结构体排序
- EXCEL排序(杭电1862)(sort排序)
- 杭电-1862 EXCEL排序(sort+结构体)
- 【杭电-oj】-1862-EXCEL排序(结构体)
- 杭电 1862 excel
- 杭电1285 简单的拓扑排序
- 杭电oj1040 简单的排序
- java实现——杭电2000ASCII码排序
- 杭电1106 排序
- 杭电ACM1425(排序)
- 杭电1106 排序
- C# RSA加密与解密
- 01 HDFS
- 2018校招笔试题——网易编程题跳石板
- 如何用合泰触摸软件包生成的文件,建立一个工程项目。
- 线段树
- 杭电acm1862 EXCEL排序的实现
- 通过@Formula计算年龄的问题
- eclipse工程当中的.classpath 和.project文件什么作用?
- JavaScript的CryptoJS AES/ECB/NoPadding加密,可与JAVA objective-c 进行同步加解密
- KindEditor/使用方法
- 关于GalleryFinal 对.png图片剪裁的问题
- Android widght之GridView
- 1.Android灯光系统_总体框架
- KindEditor/添加自定义插件