Fraternity_ 2024-01-06 00:38 采纳率: 0%
浏览 84

pta R7-7 对称字符串

一个字符串经过对称扩展之后就是一个回文串,如果继续对称扩展下去就会形成一个很长的字符串,例如:“AC”对称扩展一次变成“ACCA” ,再进行对称扩展一次就变成了“ACCAACCA”,现在给你一个字符串,请你判断这个字符串可能的最短原串是什么?

输入格式:
多实例,每个实例输入一行字符串,长度不大于1000。

输出格式:
对应每个实例输出一行字符串,为输入字符串的最短原串。

输入样例:
在这里给出一组输入。例如:

ACMMCA

输出样例:
在这里给出相应的输出。例如:

ACM
用C语言怎么写

  • 写回答

2条回答 默认 最新

  • threenewbee 2024-01-06 00:51
    关注
    #include <stdio.h>
    #include <string.h>
    
    int ishw(char *s)
    {
        int n = strlen(s);
        for (int i = 0; i < n / 2; i++)
        {
            if (s[i] != s[n - i - 1])
                return 0;
        }
        return 1;
    }
    int main()
    {
        char s[1000];
        gets(s);
        while (ishw(s) && strlen(s) > 1)
        {
            int n = strlen(s);
            if (n % 2 == 0)
                s[n / 2] = '\0';
            else
                break;
        }
        printf("%s", s);
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月6日

悬赏问题

  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题