题目链接:https://vjudge.net/problem/UVA-1584
我就是让字符数组循环移动,最多就n次(n为字符串长度),打擂台用strcmp比较即可。
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void Yd(char str[]) {
int i, len;
char ch = str[0];
for(i = 0; str[i]; i++)
str[i] = str[i+1];
str[i-1] = ch;
str[i] = 0;
}
int main() {
freopen("i.txt","r", stdin);
char str[150];
int i,n,j;
scanf("%d",&n);
for(i = 0; i < n; i++) {
scanf("%s",str);
char min[150];
strcpy(min, str);
int len;
for(len = 0; str[len]; len++);
for(j = 0; j < len; j++) {
Yd(str);
if(strcmp(min, str)>0) {
strcpy(min, str);
}
}
printf("%s\n",min);
}
return 0;
}