背景:1Y
思路:类似于选择排序的思想,用一个ans来记录最小值,搜索所有可能值中的最小值。
学习:
1.strcmp(a,b)的返回值是a相对于b的字典序,大则返回1,小则返回-1,等则返回0.
2.一个线性的链要成环的话,就%n。
#include<stdio.h> #include<string.h> int main(void){ int t; char DNA[105],ans[105]; scanf("%d",&t); while(t--){ scanf("%s",DNA); int length=strlen(DNA); memset(ans,'Z',sizeof(ans)); for(int i=0;i<length;i++){ for(int j=0,k=i,kk=i;j<length;j++,k=(++k)%length){ if(DNA[k]<ans[j]){ for(int l=kk,ll=0;ll<length;ll++,l=(++l)%length){ ans[ll]=DNA[l]; } break; }else if(DNA[k]>ans[j]) break; } } for(int i=0;i<length;i++){ printf("%c",ans[i]); } printf("\n"); } return 0; }
原文地址:http://blog.csdn.net/jibancanyang/article/details/42964571