发布时间: 2012-07-31 12:33:47 作者: rapoo
九度1023 EXCEL排序/********************************* * 日期:2012-7-1 * 作者:SJF0115 * 题号: 九度1023 * 题目:EXCEL排序 * 来源:http://ac.jobdu.com/problem.php?pid=1023 * 结果:AC * 题意: * 总结:**********************************/#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Student{char ID[10];char Name[10]; int Grade;}Student;int cmpByID(const void *a,const void *b){struct Student *c = (Student *)a;struct Student *d = (Student *)b;return strcmp(c->ID,d->ID);}int cmpByName(const void *a,const void *b){struct Student *c = (Student *)a;struct Student *d = (Student *)b;if(!strcmp(c->Name,d->Name)){return strcmp(c->ID,d->ID);}else{return strcmp(c->Name,d->Name);}}int cmpByGrade(const void *a,const void *b){struct Student *c = (Student *)a;struct Student *d = (Student *)b;if(c->Grade == d->Grade){return strcmp(c->ID,d->ID);}else{return c->Grade - d->Grade;}}Student student[100001];int main(){int N,C;int CaseNum = 0;//输入重定向,输入数据将从in.txt文件中读取//freopen("C:\\Users\\SJF\\Desktop\\in.txt","r",stdin); while(scanf("%d %d",&N,&C)!=EOF) { int i;if(N == 0){break;}CaseNum ++;for(i = 0;i<N;i++){scanf("%s %s %d",&student[i].ID,&student[i].Name,&student[i].Grade);}if(C == 1){qsort(student,N,sizeof(student[0]),cmpByID);}else if(C == 2){qsort(student,N,sizeof(student[0]),cmpByName);}else{qsort(student,N,sizeof(student[0]),cmpByGrade);}printf("Case %d:\n",CaseNum);for(i = 0;i<N;i++){printf("%s %s %d\n",student[i].ID,student[i].Name,student[i].Grade);} } return 0;}
JAVA基础-java中ET的差异
ByteBuffer跟String的互相转换
vim 编辑器的三种模式怎么切换
电脑编码
地图reduce编程模型介绍
Java基础java缓存读写资料小例子
学习jar下令 创建和解压jar文件包
java生成随机数、四舍五入、当前时间的
[猖獗Java讲义精粹] 第十一章|多线程
Java Thread 小结