View Code of Problem 126

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

Double click to view unformatted code.


Back to problem 126