考試排名(一)(結構體專題)
阿新 • • 發佈:2019-01-03
3 CS003 60 CS001 37 CS004 37 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct zz { int jj,qh,sum; char xh[22]; }a[101]; bool cmp(zz x,zz y) { if(x.sum==y.sum) return strcmp(x.xh,y.xh)<0; return x.sum>y.sum; } int main(){ int b[11]; int n,m,g,i,j,k; while(scanf("%d%d%d",&n,&m,&g)!=EOF) { k=0; for(i=1;i<=m;i++) scanf("%d",&b[i]); for(i=1;i<=n;i++) { a[i].sum=0; scanf("%s %d",a[i].xh,&a[i].jj); for(j=1;j<=a[i].jj;j++) { scanf("%d",&a[j].qh); a[i].sum+=b[a[j].qh]; } if(a[i].sum>=g) k++; } sort(a+1,a+n+1,cmp); printf("%d\n",k); for(i=1;i<=k-1;i++) printf("%s %d\n",a[i].xh,a[i].sum);//這塊較坑。。。 printf("%s %d",a[k].xh,a[k].sum); } return 0; }