View Code of Problem 126

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

Double click to view unformatted code.


Back to problem 126