C语言代码,以下为我的代码,思路是先把K个字母存进另一个二维数组里面,然后用字典序来比较每个二维数组是否一样,如果有一样就k++,都不一样就输出k。
勿喷啊,可能是昏头了
#include <stdio.h>
#include <string.h>
int main(){
int k=0,i,j,n,flag=0;
char a[101],b[53][101];
scanf("%d",&n);
if(n==1){
flag=1;
k=1;
}
getchar();
gets(a);
while(flag==0){
k++;
for(i=0;i<n-k+1;i++){
for(j=0;j<k;j++){
b[i][j]=a[i+j];
b[i][k]='\0';
}
}
for(i=0;i<n-k-1;i++){
for(j=i+1;j<n-k;j++){
if( strcmp(b[i],b[j]) ){
i=-3;
break;
}
}
if(i==n-k-2) flag=1;
}
}
printf("%d",k);
}