本人萌新,大佬求助啊,为什么会无限循环啊,我咋都看不出来有什么地方循环了
查看原帖
本人萌新,大佬求助啊,为什么会无限循环啊,我咋都看不出来有什么地方循环了
125152
LeoLoveTl楼主2023/1/6 14:15

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);

}

2023/1/6 14:15
加载中...