这道题参看了书上的解法,学习使用函数。
#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");
}
}