21xrx.com
2024-12-29 04:47:50 Sunday
登录
文章检索 我的文章 写文章
递归函数编写C语言回文串代码
2023-06-16 15:01:21 深夜i     --     --
递归函数 回文串 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` 判断字符串是否为回文串。主函数中读入一个字符串,计算字符串长度,调用递归函数,最终输出结果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复