C语言,实现在给定字符串中,查找最长的回环字符串,思路?

Python020

C语言,实现在给定字符串中,查找最长的回环字符串,思路?,第1张

最大的会还字符长度不会超过给定的字符串

从a[0]开始,循环找到下一个和它相同的字符a[i],此时再for循环a[o+j]==a[i-j],全部符合则是对称的,否则就将第一个数值去掉,从第二个开始找

循环的都有点头晕

怎么有这类题吗?

只是是一个c语言语句行的标号,而不是循环语句。

就像在上面 c 语言程序中的“loop6”和“loop10”就是为了配合 goto (跳转)语句而给某行程序起的名字(标号)。

例如下图:

它的意思是:当 q 的值等于 14时,跳转到标号为 loop6 的那条程序语句继续执行, 也就是打印出 "Hello world"。

扩展资料:

goto语句一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。

如: label: i++

loop: while(x<7)

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

参考资料来源:百度百科-goto语句

参考资料来源:百度百科-循环语句

for(i=0i<strlen(a)i++){  

  //这里嵌套循环,循环a数组,依次取a的元素,然后匹配以该元素开头的字符串是否和b数组一样

  //如果该元素开头后面和b都一样,那么子j循环结束,标识变量flag就是1, 

  //那么下面c循环就是通过元素移位,从a数组中删除对应字符。最后剩下的就是你要的。

  //  puts(a)打印移位删除后剩余的内容

        for(j=0j<strlen(b)j++){

            if(a[i+j]==b[j])

                flag=1

            else

                flag=0

        }

        if(flag==1){

            for(c=ic<strlen(a)c++)

                a[c]=a[c+strlen(b)]

        }

    }

    puts(a)