qq_56985664
qq_56985664
采纳率50%
2021-05-07 18:28 阅读 54

C语言:字符串的处理

给定一个正整数N和一个由小写英文字母组成的长度N的字符串S。确定该字符串是否是某个字符串的两个副本的连接。也就是说,确定是否存在一个字符串T使S=T+T。如果S是某个字符串的两个副本的连接,则输出Yes;否则,直接输出No。 例如,输入6(回车)abcabc,输出Yes(回车)Let T=abc,and S=T+T。 或者输入4(回车)abac,输出No(回车)结束。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    technologist_16 CSDN专家-天际的海浪 2021-05-07 21:05
    #include <stdio.h>
    int main() {
        int len,i,judge=0;
        scanf("%d", &len);
        char a[len+1];
        scanf("%s", a);
        if(len%2==0) {
            for(i=0;i<(len/2);i++)
                if(a[i]!=a[(len/2)+i]){
                    judge=1;
                    break;
                }
            if(judge==1)
                printf("No");
            else {
                printf("Yes");
            }
        } else
            printf("No");
        printf("\n");
        return 0;
    }

    点赞 评论 复制链接分享
  • technologist_16 CSDN专家-天际的海浪 2021-05-07 18:29
    
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int n;
        scanf("%d",&n);
    	char s[n+1];
        setbuf(stdin, NULL);
        gets(s);
    	int len = strlen(s)/2,i;
    	for(i=0;i<len;i++)
            if (s[i]!=s[len+i]){
                printf("No\n");
            	return 0;
            }
        printf("Yes\n");
    	return 0;
    }
    
    点赞 评论 复制链接分享
  • technologist_15 CSDN专家-三岁丫 2021-05-07 18:35

    其实挺简单的,你是哪里不会呢?你可以利用两个指针,一个指向头部,一个指向字符串的中间,然后不断的比较,然后向后移动两个指针。到了最后都是相同的,就可以返回 yes,如果在比较过程中有一个不同就是 no

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 2021-05-07 18:56

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论 复制链接分享
  • it_xiangqiang C和C++技术博客 2021-05-07 19:09


    希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
    希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
     

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 2021-05-08 14:26

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论 复制链接分享

相关推荐