#include <stdio.h> #include <stdlib.h> #include<stdbool.h> #include<string.h> int main() { char a[600],b[600]; scanf("%s",a); scanf("%s",b); char str[600],strz[600]; int max=0; int k; int len,lenz; if(strlen(a)<strlen(b)) { strcpy(strz,a); strcat(strz,a); strcpy(str,b); strcat(str,b); len=strlen(b); lenz=strlen(a); } else { strcpy(str,a); strcat(str,a); strcpy(strz,b); strcat(strz,b); len=strlen(a); lenz=strlen(b); } for(int i=0; i<len; i++) { for(int j=0; j<lenz; j++) { if(str[i]==strz[j]) { for( k=1;k<lenz;k++) { if(str[i+k]!=strz[j+k]) { if(max<k) max=k; break; } } if(k==lenz) max=k; } } } printf("%d",max); return 0; }//采用乘以两倍的方法成环
字符环 c语言求解(2)
最新推荐文章于 2025-06-03 16:56:51 发布