一个以用户选择的相同长度在字符串中给出回文的c代码? [关闭]

问题描述 投票:-1回答:1
我正在尝试编写一个从用户那里获取一个字符串和一个数字的c程序,该代码以用户选择的长度打印字符串中存在的回文。只允许使用循环和数组!例如:字符串= jskhahad长度= 3它给:啊哈这些是所需输出的示例:[https://i.stack.imgur.com/D4t6z.jpg][1]在此先感谢
c user-input reverse palindrome string-length
1个回答
0
投票
可以尝试一种解决方案:

#include <stdio.h> char *longPlaindrome(char *str) { char *pointpal; while (*str) { int i = 1; if (*str == *(str + i) || *(str - i) == *(str + i)) { if (*(str - i) == *(str + i)) pointpal = str - i; else pointpal = str; i++; while (*(str - (i - 1)) == *(str + i) || (*str - i) == *(str + i)) { pointpal--; i++; } } str++; } return pointpal; } int main() { char *str1 = "jskhahad"; char *longestpal = longPlaindrome(str1); char *point = longestpal; int loop = 1, count = 0; while (loop) { ++count; printf("%c", *longestpal); longestpal++; if (point == longestpal) loop = 0; if (*point == *longestpal) point = longestpal + 1; } printf(" %d", count); return 0; }

有些复杂,但是可行。

输出:啊哈3

© www.soinside.com 2019 - 2024. All rights reserved.