View Code of Problem 126

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

Double click to view unformatted code.


Back to problem 126