#include<stdio.h>//DNA序列 #include<string.h> struct str{ char d[50]; }dna[101]; int main() { int i,j,f,z[101]; int a,b,y; char temp[101]; while(scanf("%d %d",&a,&b)!=EOF)//先输入 { for(i=0;i<b;i++) scanf("%s",&dna[i].d);//get字符串 for(i=0;i<b;i++)//从第一条字符串开始 { z[i]=0; for(j=0;j<a;j++) { if(dna[i].d[j]=='A')//如果当前字符串是‘A’的话,就直接加零 z[i]=z[i]+0; else { for(f=j;f<a;f++)//如果不是的话,再和它之后的字符比较 { if(dna[i].d[j]>dna[i].d[f])//如果比之后的字符大,就加一 z[i]=z[i]+1; } } } } for(i=0;i<b;i++) { for(j=i;j<b;j++) { if(z[i]>z[j]) { strcpy(temp,dna[i].d); strcpy(dna[i].d,dna[j].d); strcpy(dna[j].d,temp); y=z[i]; z[i]=z[j]; z[j]=y; } } } for(i=0;i<b;i++) { printf("%s\n",dna[i].d); } } return 0; } |
Double click to view unformatted code.