这一题一直想用快排来做但每次都出现输出问题所以果断改用冒泡排序,当然时间时间上也没有浪费多少;
#include <stdio.h>
#include<stdlib.h>int main()
{
int n,m,max=0,min;
int i,j,k;
char c[100][100];
int d[100]={0};
int e[100]={0};
scanf("%d%d",&n,&m);
for (i=0;i<m;i++)//将输入的字符串的每个字符进行比较大小然后记录次数
{
scanf("%s",&c[i]);
for (j=0;j<n;j++)
for (k=j+1;k<n;k++)
if (c[i][j]>c[i][k])
d[i]++;
if (d[i]>max) max=d[i];
}
for (i=0;i<m;i++)利用冒泡排序进行排序然后输出结果
{
min=max+1;
for (j=0;j<m;j++)
if ((d[j]<min) && (e[j]==0))
{
min=d[j];
k=j;
}
e[k]=1;
printf("%s\n",c[k]);
}
return 0;
}