问题:环形字符串从中间切开,找最小字典序;
分析:暴力求解,把字符串不断向后移位产生新的字符串然后比较,用到strcmp比较字典序,strcpy复制字符串
#include<stdio.h>
#include<string.h>
int main()
{
int q;
scanf("%d",&q);
while(q--){
char a[101],amin[101],c;
scanf("%s",&a);
int len=strlen(a);
strcpy(amin,a);
for(int i=0;i<len;i++){
c=a[len-1];
for(int j=len-1;j>0;j--)
{
a[j]=a[j-1];//交换字符串,把字符串往后移一位
}
a[0]=c;
if(strcmp(a,amin)<0) //比较字典序
strcpy(amin,a);
}
printf("%s\n",amin);
}
}