EXCEL
来源:互联网 发布:大黄蜂爱国者数据 编辑:程序博客网 时间:2024/05/22 07:42
Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。
行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间
时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
3 1000007 James 85000010 Amy 90000001 Zoe 604 2000007 James 85000010 Amy 90000001 Zoe 60000002 James 984 3000007 James 85000010 Amy 90000001 Zoe 60000002 James 900 0
Case 1:000001 Zoe 60000007 James 85000010 Amy 90Case 2:000010 Amy 90000002 James 98000007 James 85
000001 Zoe 60Case 3:000001 Zoe 60000007 James 85000002 James 90000010 Amy 90算法:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct CT { char id[10]; char name[10]; int s; }p[110000]; bool cmp1(CT x,CT y) { if( strcmp(x.id , y.id) < 0 ) return true; else return false; } bool cmp2(CT x,CT 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; } int cmp3(CT x, CT y) { if(x.s<y.s) return 1; else if(x.s==y.s) { if( strcmp(x.id , y.id) < 0 ) return 1; } return false; } int main() { int m,n,i; int k=0; while(~scanf("%d%d",&m,&n),m){ for(i=0;i<m;i++){ scanf("%s%s%d",p[i].id,p[i].name,&p[i].s); } switch(n) { case 1: sort(p,p+m,cmp1); break; case 2: sort(p,p+m,cmp2); break; case 3: sort(p,p+m,cmp3); break; } printf("Case %d:\n",++k); for(i=0;i<m;i++) { printf("%s %s %d\n",p[i].id,p[i].name,p[i].s); } } return 0; }
阅读全文
0 0
- Excel
- Excel
- ExCel
- excel
- Excel
- EXCEL
- excel
- excel
- EXCEL
- Excel
- excel
- Excel
- excel
- excel
- excel
- EXCEL
- excel
- excel
- js判断图片加载完成
- Git学习笔记 chapter05--添加远程仓库并同步
- form表单提交
- 【TFS安装】TFS 2013 安装(详细)
- 谈谈高并发系统的限流
- EXCEL
- 使用ajax发起一个请求完成之后再发起另一个请求
- Merge Two Binary Trees问题及解法
- 【舆情监测】中科天玑带您回顾一周热点(7.17-7.21)
- 应用宝手机端打开指定应用链接,支持未上线应用
- 让IE支持placeholder属性
- Postman下载安装和使用
- 自定义二维码
- 程序员北京三年买房的秘密