View Code of Problem 126

#include<stdio.h>
int main(){
	int m,n;                    //正整数n(0<n<=50)表示字符串长度,一个正整数m(0<m<=100)表示字符串个数 
	char str[100][50];
	while(scanf("%d %d",&n,&m)!=EOF){
		    int sum[100]={0};
			for(int i=0;i<m;i++)
			  scanf("%s",str[i]); 
			/*for(int i=0;i<m;i++)
			  printf("%s\n",str[i]); */
			  
			for(int i=0;i<m;i++)
			   for(int j=0;j<n;j++){
			   	   for(int k=j+1;k<n;k++)
			   	        if(str[i][j]>str[i][k])
						    sum[i]++;
			   } 
			/*for(int i=0;i<m;i++)
				printf("%d\n",sum[i]); */
			int q=0;
			for(int i=0;i<m;i++){
			    int min=1000;
				for(int j=0;j<m;j++){
					if(sum[j]<min&&sum[j]!=-1){
					min=sum[j];
					q=j;           //储存最小下标 
				}
				}
				sum[q]=-1;				
				printf("%s\n",str[q]);
			}	
	} 
} 

Double click to view unformatted code.


Back to problem 126