【杭电】[1862]EXCEL排序

来源:互联网 发布:软件技能有哪些 编辑:程序博客网 时间:2024/05/21 23:00

这里写图片描述
这里写图片描述

第一次接触到这种题可能会纠结好久WA好多……
学会之后还是挺容易的

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct stu {    int x;    char s[22];    int a;}person[100200];bool vsx(stu A,stu B) {    return A.x<B.x;}bool vss(stu A,stu B) {    if(strcmp(A.s,B.s)!=0)        return strcmp(A.s,B.s)<0;    else        return A.x<B.x;}bool vsa(stu A,stu B) {    if(A.a!=B.a)        return A.a<B.a;    else        return A.x<B.x;}int main() {    int N,C;    int j,i=0;    while(scanf("%d %d",&N,&C),N!=0) {        for(j=0; j<N; j++)            scanf("%d %s %d",&person[j].x,&person[j].s,&person[j].a);        if(C==1)            sort(person,person+N,vsx);        else if(C==2)            sort(person,person+N,vss);        else            sort(person,person+N,vsa);        printf("Case %d:\n",++i);        for(j=0; j<N; j++)            printf("%06d %s %d\n",person[j].x,person[j].s,person[j].a);    }    return 0;}

题目地址:【杭电】[1862]EXCEL排序

0 0
原创粉丝点击