#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;
}

忙了我好长时间才改成这样,仔细一想不怎么难,只要静下心来想

Posted on 2012-07-30 10:51 梁子 阅读(203) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理