gpt4 book ai didi

C - 从单行给出回文列表

转载 作者:行者123 更新时间:2023-11-30 19:47:53 24 4
gpt4 key购买 nike

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

    >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[] 应该是带有回文的数组,我可以打印它。但我不知道数组的大小,也不知道单词的长度,所以我被困在这里。

最佳答案

#include <stdio.h>
#include <ctype.h>

int main(void){
char word[128];
int i=0, ch;

putchar('>');
while(EOF != (ch = getchar())){
if(isspace(ch)){
if(i){
int fr, bk;
for(fr=0, bk=i-1;word[fr]==word[bk];++fr,--bk);
if(fr < bk)//not palindromes
i = 0;
else {
while(i)
putchar(word[--i]);
putchar(ch);
}
}
if(ch == '\n')
break;
} else {
word[i++] = tolower(ch);//check i < sizeof(word)
}
}
putchar('\n');

return 0;
}

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com