#include <stdio.h>
typedef struct
{
char s[55];
int value;
}DNA;
DNA list[200];//申请200个
int main()
{
DNA tmp;
int i,j,k;
int len,n;
scanf("%ld%ld",&len,&n);
for(i=1;i<=n;i++)
{
scanf("%s",list[i].s+1);
list[i].value=0;
for(k=1;k<=len;k++)
for(j=k;j<=len;j++)
if(list[i].s[k]>list[i].s[j])
list[i].value++;//输入时计数
}
for(i=1;i<=n;i++)//排序
for(j=i;j<=n;j++)
if(list[i].value>list[j].value)
{
tmp=list[i];
list[i]=list[j];
list[j]=tmp;
}
for(i=1;i<=n;i++)
printf("%s\n",list[i].s+1);
return 0;
}
忙了我好长时间才改成这样,仔细一想不怎么难,只要静下心来想