水题。。。。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char a[11],b[11];
int len;
int cmp(const void *p,const void *q)
{
return strcmp((char *)p,(char *)q);
}
int sort(int n)
{
int i,j;
char temp;
memset(b,0,sizeof(b));
for(i=n; i<len; i++)
{
if(a[n-1]>=a[i])
break;
}
temp=a[i-1];
a[i-1]=a[n-1];
a[n-1]=temp;
for(j=n; j<len; j++)
b[j-n]=a[j];
b[j-n]='\0';
a[n]='\0';
qsort(b,strlen(b),sizeof(b[0]),cmp);
strcat(a,b);
puts(a);
}
int main()
{
int n,i,j,flag;
scanf("%d",&n);
getchar();
while(n--)
{
gets(a);
qsort(a,strlen(a),sizeof(a[0]),cmp);
len=strlen(a);
puts(a);
for(i=len-1; i>0; i--)
{
if(a[i]>a[i-1])
{
sort(i);
i=len;
}
}
puts("");
}
return 0;
}