我正在尝试编写一个程序,以查找回文(在一行中的几个单词之间)并编写它们。例如:

    >Maszka anna rentner forfreakingsake

    >anna rentner


但是我确实设法检查了第一个单词(直到空格),我不知道如何开始检查下一个单词。这应该是一种简单的原始方法,有人可以帮我吗?
我所拥有的(不多):

    #include<stdio.h>
    #include <string.h>

    #define N 10000

    int main()
    {
    int i,j;
    char satz[N];
    char palindrome[N];

    fgets(satz);

    for(i=0; i != EOF; i++)
      satz[i] = getchar(); //first filling array with chars

    }
    printf("wth :( ");
    }


我想将satz [i]与satz [j](j = strlen(word)-1应该是单词的最后一个字母)进行比较,palindrome []应该与回文一起排列,我可以打印出来。但是我不知道数组的大小,也不知道单词的长度,所以我被困在这里。

最佳答案

我能想到的最简单的方法是从该字符串中创建一个数组。空格可以是其中的分隔符。因此,只需解析它,然后将每个单词添加到数组中即可。然后,您可以对该数组中的每个元素使用算法。

关于c - C-单行给出回文列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20197326/

10-10 12:29