这道题参看了书上的解法,学习使用函数。

 

#include<stdio.h>
#include<string.h>
char s[105];
int less(const char *s,int p,int q)
{
    int i,n;
    n=strlen(s);
    for(i=0;i<n;i++)
        if(s[(i+p)%n]!=s[(i+q)%n])
            return (s[(i+p)%n]<s[(i+q)%n]);
        return 0;
}
int main()
{
    int i,j,T;
    scanf("%d",&T);
    while(T--)
    {
        int ans=0;
        int n=0;
        scanf("%s",s);
        n=strlen(s);
        for(i=1;i<n;i++)
        {
            if(less(s,i,ans))
                ans=i;
        }
        for(i=0;i<n;i++)
            printf("%c",s[(i+ans)%n]);
        printf("\n");
    }
}