View Code of Problem 126

#include<stdio.h>
#include<string.h>
struct s{
	char zimu[50];
}s[100],d;
int main(){
	int i,j,k,t,n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int num[100]={0};
		for(i=0;i<m;i++)
		{
			scanf("%s",&s[i].zimu);
		    for(j=0;j<n;j++)
			{
				for(k=j+1;k<n;k++)
					if(s[i].zimu[j]>s[i].zimu[k])
						num[i]++;
			}
		}
			for(i=0;i<m;i++)
			  for(j=i+1;j<m;j++)
				  if(num[i]>num[j])
				  {
					  t=num[i];
					  num[i]=num[j];
					  num[j]=t;
					  d=s[i];
					  s[i]=s[j];
					  s[j]=d;
				  }
			for(i=0;i<m;i++)
				printf("%s\n",s[i].zimu);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 126