使用c语言编写一段检测输入字符串中最短的回文串并打印
时间: 2023-02-28 20:56:56 浏览: 82
我可以提供一个示例,使用C语言编写检测输入字符串中最短的回文串并打印的代码如下:#include <stdio.h>
#include <string.h>
// 定义函数,用于查找最短回文串
void findShortestPalindrome(char str[])
{
int n = strlen(str);
// 从字符串末尾开始检查
int i = n - 1;
// 定义字符串长度
int len = 0;
// 用于保存最短回文串
char palindrome[50];
// 检查字符串中的每一个字符
while (i >= 0)
{
int j = 0;
// 检查字符串中的前缀
while (str[i - j] == str[i + j])
{
// 更新回文串长度
len = j + 1;
// 更新最短回文串
palindrome[len] = str[i];
// 索引增加
j++;
}
// 如果找到最短回文串,则退出循环
if (len > 0)
break;
i--;
}
// 打印最短回文串
printf("最短回文串是: ");
for (int i = len; i >= 0; i--)
printf("%c", palindrome[i]);
}
// 主函数
int main()
{
char str[50] = "aab