2021-09-04_在线编程限时赛_回文对

#include <stdio.h>
#include <string.h>
#define len 5
/*判断是否回文*/
int isCycle(char *str);
int main(void)
{
    /* 初始化数据 */
    char string[][50] = {"abcd", "dcba", "lls", "s", "sssll"};
    /* 存储拼接的字符串,长度需要翻倍 */
    char target[100], *str;
    //数组遍历
    for (int i = 0; i < len; i++)
    {
        for (int j = 0; j < len; j++)
        {
            if (i == j)
            {
                continue;
            }
            else
            {
                /* 复制第一个字符串 */
                str = strcpy(target, string[i]);
                /* 拼接第二个字符串 */
                str = strcat(target, string[j]);
                /* 判断是否回文并输出 */
                if (isCycle(str))
                {
                    puts(str);
                }
            }
        }
    }
    return 0;
}
int isCycle(char *str)
{
    int start = 0, end = strlen(str) - 1, flag = 1;
    while (start < end && flag == 1)
    {
        flag = str[start++] == str[end--] ? 1 : 0;
    }
    return flag;
}
上一篇:scala小工具:自动生成跑批文件


下一篇:开源MANO软件盘点