現在先保存結果吧。還沒通過
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct STUDENT
{
char name[15];
int num;
int time;
};
int cmp(const void *a,const void *b)
{
STUDENT *x=(STUDENT *)a;
STUDENT *y=(STUDENT *)b;
if(x->num!=y->num) return y->num-x->num;
if(x->time!=y->time) return x->time-y->time;
return strcmp(x->name,y->name);
}
void main()
{
int n,m,i=0,j;
STUDENT a[6];
scanf("%d%d",&n,&m);
for(i=0;i<6;i++)
{
scanf("%s",a[i].name);
a[i].num=0;
a[i].time=0;
for(j=0;j<n;j++)
{
int sum=0;
int k,w;
scanf("%d",&k);
if(k>0)
{
a[i].num++;
a[i].time+=k;
char c=getchar();
if(c=='(')
{
scanf("%d",&w);
a[i].time+=w*m;
getchar();
}
}
}
}
qsort(a,6,sizeof(a[0]),cmp);
for(int l=0;l<6;l++)
printf("%-10s %2d %4d\n",a[l].name,a[l].num,a[l].time);
}