View Code of Problem 126

#include<stdio.h>
#include<string.h>
struct s{
	char zimu[100];
}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(i=0;i<m;i++)
		{
		    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-1;i++)
			  for(j=0;j<m-1;j++)
				  if(num[j]>num[j+1])
				  {
					  t=num[j];
					  num[j]=num[j+1];
					  num[j+1]=t;
					  d=s[j];
					  s[j]=s[j+1];
					  s[j+1]=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