温馨提示×

c语言怎么判断是否为回文串

小亿
154
2024-03-02 13:04:30
栏目: 编程语言

判断一个字符串是否为回文串可以通过以下步骤实现:

  1. 定义两个指针,分别指向字符串的开头和结尾;
  2. 依次比较两个指针指向的字符是否相等,如果相等则继续向中间移动,直到两个指针相遇;
  3. 如果在比较过程中发现两个指针指向的字符不相等,则说明该字符串不是回文串;
  4. 如果两个指针相遇时都没有发现不相等的字符,则说明该字符串是回文串。

下面是用C语言实现的代码示例:

#include <stdio.h>
#include <string.h>

int isPalindrome(char *str) {
    int len = strlen(str);
    int start = 0;
    int end = len - 1;

    while (start < end) {
        if (str[start] != str[end]) {
            return 0; // 不是回文串
        }
        start++;
        end--;
    }

    return 1; // 是回文串
}

int main() {
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);

    if (isPalindrome(str)) {
        printf("是回文串\n");
    } else {
        printf("不是回文串\n");
    }

    return 0;
}

输入一个字符串后,程序会判断该字符串是否为回文串并输出结果。

0