感受了下三层比较sort
输入的巧妙之处
如下
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct stu{
char a[1000];
int count=0;
int time=0;
}A[1000];
bool cmp(stu a,stu b){
if(a.count==b.count)
return a.time<b.time ;
if(a.time==b.time )
return a.a<b.a;
return a.count>b.count ;
}
int main()
{
int i,j,kk,k,m,n,sum=0,x;int p,t,l;
char zou[1000],ch;
scanf("%d%d",&n,&m);
k=0;
while(scanf("%s",A[k].a)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&t);
if(t<=0) ;
else
{
A[k].time+=t;
scanf("%c",&ch);
if(ch=='('&&ch!=' ')
{
scanf("%d)",&l);
A[k].time+=l*m;
}
A[k].count++;
// printf("%d\n",A[k].time);
}
}
k++;
}
sort(A,A+k+1,cmp);
for(i=0;i<k;i++)
printf("%-10s %2d %4d\n",A[i].a,A[i].count,A[i].time );
return 0;
}