C++学习日记——excel排序
来源:互联网 发布:js 函数添加到window 编辑:程序博客网 时间:2024/05/18 01:49
Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。
对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3
时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
#include <stdio.h>#include <algorithm>#include <string.h>using namespace std;struct student{int id;char name[20];int score;}buf[100000];bool cmp1(student a,student b){return a.id<b.id;}bool cmp2(student a,student b){int tmp=strcmp(a.name,b.name);if(tmp!=0) return tmp<0;else return a.id<b.id;}bool cmp3(student a,student b){if(a.score!=b.score) return a.score<b.score;else return a.id<b.id;}int main(void){int n,c;while((scanf("%d%d",&n,&c))==2&&(n!=0)){for(int i=0;i<n;++i)scanf("%d%s%d",&buf[i].id,&buf[i].name,&buf[i].score);switch(c){case 1:sort(buf,buf+n,cmp1);break;case 2:sort(buf,buf+n,cmp2);break;case 3:sort(buf,buf+n,cmp3);break;default:break;}printf("Case %d:\n",c);for(int i=0;i<n;++i)printf("%06d %s %d\n",buf[i].id,buf[i].name,buf[i].score);}return 0;}
0 0
- C++学习日记——excel排序
- C日记——快速排序
- C++学习日记——成绩排序
- C日记——基本的排序算法
- C++、C#、java算法学习日记03----插入排序
- C++、C#、java算法学习日记04----二分插入排序
- 学习日记:冒泡排序
- 学习日记--桶排序
- NPOI 下载EXCel 学习日记
- Linux C 学习日记
- 问题 C: EXCEL排序
- 学习日记-排序方法集锦
- C++、C#、java算法学习日记01---冒泡排序(BubbleSort)
- C++、C#、java算法学习日记02----选择排序(SelectSort)
- C++、C#、java算法学习日记05----希尔排序(ShellSort)
- C++、C#、java算法学习日记06----堆排序思想(HeapSort)
- C++、C#、java算法学习日记07----堆排序(HeapSort)
- .NET日记——冒泡法排序
- Android优秀开源项目(转过来的)
- 写一篇自已还没写的概况
- 远程调用框架dubbo
- 职场上别人说你年轻会让你失去很多机会
- CC2530 IAR配置生成hex烧写文件(可使用Flash programmer直接烧写)
- C++学习日记——excel排序
- 获取Sqlite数据库中的表名和字段名
- 详解JDBC与Hibernate区别
- 史上最坑的证书报错解决方法:Code=3000 "未找到应用程序的“aps-environment”的权利字符串"
- Mapped exception to response: 500 (Internal Server Error)
- js的几种提交方式
- 关于win8关机太慢停留在关机提示界面解决方法
- hibernate的环境搭建
- 隐藏窗口里默认按钮的方法NSWindowCloseButton