View Code of Problem 126

#include <stdio.h>
#include <string.h>
#include <math.h>
struct DNA{
	char data[100];
	int sum;
}s[50];
int main()
{
	int n,m,temp;
	char a[100];
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		
		int i,j,k;
		for(i=0;i<m;i++)
		{
			scanf("%s",s[i].data);
		}
 
		for(i=0;i<m;i++)
		{
			s[i].sum=0;
			for(j=0;j<n;j++)
			{
				for(k=j+1;k<n;k++)
				{
					if(s[i].data[j]>s[i].data[k])
					{
						s[i].sum++;
					}
				}
			}
 
		}
        for(i=0;i<m;i++)
		{
			for(j=m-1;j>=i;j--)
			{
				if(s[j].sum<s[j-1].sum)
				{
					temp=s[j].sum;
					s[j].sum=s[j-1].sum;
					s[j-1].sum=temp;
					strcpy(a,s[j].data);
					strcpy(s[j].data,s[j-1].data);
					strcpy(s[j-1].data,a);
				}
 
 
			}
 
		}
 
 
		for(i=0;i<m;i++)
		{
			printf("%s\n",s[i].data);
		}
	}
 
}

Double click to view unformatted code.


Back to problem 126