📌  相关文章
📜  检查字符串是否为回文 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:26:45.876000             🧑  作者: Mango

检查字符串是否为回文 - C 编程语言

编写一个程序,检查字符串是否为回文。即该字符串从前往后和从后往前读都是一样的。

下面是一个简单的C程序,可以实现字符串回文检查功能。

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

// 声明函数 is_palindrome
int is_palindrome(char *s);

// 主函数
int main() {
    char str[100];
    printf("请输入一个字符串:");
    gets(str);   // 读取输入字符串
    if (is_palindrome(str)) {
        printf("%s 是一个回文字符串。\n", str);
    } else {
        printf("%s 不是一个回文字符串。\n", str);
    }
    return 0;
}

// 函数定义 is_palindrome
int is_palindrome(char *s) {
    int len = strlen(s);  // 获取字符串长度
    for (int i = 0; i < len / 2; i++) {
        if (s[i] != s[len - i - 1]) {   // 对称位置字符不相等
            return 0;   // 不是回文字符串
        }
    }
    return 1;   // 是回文字符串
}
代码说明
主函数

程序先读取用户输入的字符串,然后调用 is_palindrome 函数进行回文检查。最后根据检查结果输出提示信息。

is_palindrome 函数

该函数用于判断一个字符串是否为回文字符串。该函数具体实现过程如下:

  1. 获取字符串长度 len
  2. 循环遍历字符串前半部分的字符,比较与对称位置字符是否相等。如果不相等,则说明该字符串不是回文字符串,直接返回0。
  3. 如果循环结束后未返回0,说明该字符串是回文字符串,返回1。

这个函数有一个参数 s,表示待检查的字符串。