21xrx.com
2025-06-25 07:20:28 Wednesday
文章检索 我的文章 写文章
递归函数编写C语言回文串代码
2023-06-16 15:01:21 深夜i     11     0
递归函数 回文串 C语言代码

回文串指正反读都一样的字符串,如“level”、“noon”等。本文介绍使用C语言编写递归函数的方法来判断一个字符串是否为回文串。

首先,我们定义一个递归函数,函数接收两个参数——字符串的左右边界。函数判断左右边界对应位置的字符是否相等,如果相等继续判断相邻位置,直到左右边界重合。如果所有位置的字符相等,则该字符串为回文串。

代码如下:

#include
#include
int palindrome(char* str, int left, int right){
  if(left >= right)
    return 1;
  if(str[left] == str[right])
    return palindrome(str, left+1, right-1);
  else
    return 0;
}
int main(){
  char str[100];
  printf("请输入一个字符串:\n");
  scanf("%s", str);
  int len = strlen(str);
  if(palindrome(str, 0, len-1))
    printf("%s是一个回文串\n", str);
  else
    printf("%s不是一个回文串\n", str);
  return 0;
}

在上述代码中,我们通过递归函数 `palindrome` 判断字符串是否为回文串。主函数中读入一个字符串,计算字符串长度,调用递归函数,最终输出结果。

  
  

评论区